文档章节

可视化日历【Java,有详细的注释】

杨润康Bla
 杨润康Bla
发布于 2016/05/18 18:04
字数 462
阅读 21
收藏 0
点赞 2
评论 0
package cn.bla.test;

import java.text.DateFormat;
import java.text.SimpleDateFormat;
import java.util.Calendar;
import java.util.Date;
import java.util.GregorianCalendar;
import java.util.Scanner;
/** * VisualCalender ===可视化日历=== * @author 杨润康 * @category java * @since 2015-5-31 * @version 1 */
public class VisualCalender {
    public static void main(String[] args) throws Exception {
        Scanner input = new Scanner(System.in);
        System.out.println("请输入日期:<格式:2015-5-5>");
        String time=input.next();//用户输入的字符串
        //具体的处理判断
        DateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd");
        Date date = dateFormat.parse(time);//将字符串解析成日期类型

        //日历类上场
        Calendar calendar = new GregorianCalendar();
        calendar.setTime(date);//将日期放进日历里面去,然后对日历进行操作,实际上就是对日期进行操作
        //因为日历都是从一开始的,所以先将用户输入的日期的日部分变为1
        calendar.set(Calendar.DATE, 1);
        //得到当前月份的一号,是在一周之内的周几 (得到的数要-1 ,因为老外的是从周日开始一周的生活的,所以比我们早了一天)
        int actualDayInAWeek=calendar.get(Calendar.DAY_OF_WEEK)-1;
        //得到当前月份有多少天DATE || DAY_OF_MONTH
        int actualDaysInMonth=calendar.getMaximum(Calendar.DAY_OF_MONTH);
        //现在处理在具体的某一号的后面做个标记
            //先前为了处理月份的一号是在一周的星期几时,曾把它设为1,现在把它恢复过来,为下面的标记做准备
            String getOldDate=dateFormat.format(date);
            Date oldDate = dateFormat.parse(getOldDate);
            calendar.setTime(oldDate);
            //取月份中的具体的某一号
            int day=calendar.get(Calendar.DATE);
        //程序的可视化部分
        System.out.println("\t\t===可视化日历===");
        System.out.println("日\t一\t二\t三\t四\t五\t六");
        for(int i=1;i<=actualDaysInMonth;i++){
            //让1号在具体的周几的位置,然后在这个位置之前是不打印任何字符的,只打印空格
            if(i<=actualDayInAWeek){
                System.out.print("\t");
                continue;
            }
            if((i-actualDayInAWeek)==day){//在具体的某一号的后面做#个标记
                System.out.print((i-actualDayInAWeek)+"#\t");
                continue;
            }
            System.out.print((i-actualDayInAWeek)+"\t");//(i-actualDayInAWeek)在周X的位置,是从一开始打印的

            if(i%7==0){
                System.out.println();
            }
        }
    }
}

本文转载自:http://blog.csdn.net/yangrunkangbla/article/details/46290851

共有 人打赏支持
杨润康Bla
粉丝 14
博文 76
码字总数 0
作品 0
合肥
后端工程师
JComponentPack3.0正式发布

奇新Java控件---Java控件提供商和Java RIA, Web, J2ME解决方案开发商 我们为您提供了一系列方便易用的Java控件,帮助开发人员提高工作效率,加快开发进程。 最新动态: JComponentPack3.0正式...

fralepg
2009/04/11
0
0
Eclipse Code Template 设置

打开Code Template 设置 从菜单栏依次打开 Window --> Preferences --> Java --> Code Style --> Code Templates Comments代表注释模板,Code代表代码模板,其中每一个子菜单代表子项的模板。......

admin_qing
07/03
0
0
java8中的时间处理0 - api介绍

Java 8 Date Time API是我们java开发一直寻找的时间处理工具。java从一开始设计的时间类就让人头疼,好在现在终于有了java8。 为什么我们需要这套API 只要是有这么几个理由: Java的日期和时...

davelet
02/22
0
0
关于fullcalendar里显示json格式的events(java)

cyper的java代碼(spring mvc controller): @RequestMapping(value = "calendarEvents")@ResponseBodypublic String calendarEvents(){List<LecturerAgendaVo> agendas = lecturerAgendaServ......

cyper
2013/10/08
0
2
jvm优化必知系列——监控工具

这是jvm优化系列第二篇: jvm优化——垃圾回收 通过上一篇的jvm垃圾回收知识,我们了解了jvm对内存分配以及垃圾回收是怎么来处理的。理论是指导实践的工具,有了理论指导,定位问题的时候,知...

wier
2017/10/18
0
14
Java对日期Date类进行加减运算,年份加减,月份加减

Date d=new Date(); SimpleDateFormat df=new SimpleDateFormat("yyyy-MM-dd"); System.out.println("今天的日期:"+df.format(d)); System.out.println("两天前的日期:" + df.format(new D......

mtfan
2014/12/11
0
0
Java工具类:给程序增加版权信息

我们九天鸟的p2p网贷系统,基本算是开发完成了。 现在,想给后端的Java代码,增加版权信息。 手动去copy-paste,太没有技术含量。 于是,写了个Java工具类,给Java源文件增加版权信息。 源代...

jtn
2015/05/02
0
0
opentaps-ofbiz中文乱码(第2问)

1.中文配置 (framework/common/config/general.properties) currency.uom.id.default=CNY locale.properties.fallback=zn_CN country.geo.id.default=CHN 2.页面日历乱码 (framework/images/......

MoksMo
2014/11/22
0
2
Android中腾讯微博OAuth认证(一)---获取RequestToken

Java新手,Java中的很多网络操作都不太熟悉,所以想写一个微博程序来熟悉下Java中的网络操作。 第一步:下载腾讯微博SDK 第二步:创建Android项目,并配置Build Path,加入SDK中httpmime-4....

Easince
2012/06/13
0
0
PHP与Java语法上的简单对比

最近一朋友准备从java转PHP,帮她写个简单的PHP入门,简单的讲一下java与php的不同。 PS. ueditor实在不会用- -,凑合着看吧 PHP Java 文件格式 <? ?>或是<?php ?>把代码包含在里面 保存为....

大嘴吃鸡腿
2014/09/21
0
0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

CentOS “Destination Host Unreachable”问题解决办法

挑战极速安装CentOS时遇到局域网主机不能通信的情况: [root@zjd network-scripts]# ping 8.8.8.8PING 8.8.8.8 (8.8.8.8) 56(84) bytes of data.64 bytes from 8.8.8.8: icmp_seq=1 ttl=......

wffger
12分钟前
0
0
CentoOS6.6安装netcat

CentOS下安装netcat 使用zookeeper过程中,需要监控集群状态。在使用四字命令时(echo conf | nc localhost 2181),报出如下错误:-bash: netcat: command not found。 我的系统是CentOS 6....

ghou-靠墙哭
23分钟前
0
0
es6之解构赋值巧用

ES6 允许按照一定模式,从数组、对象等中提取值,对变量进行赋值,这被称为解构赋值。 如何进行解构赋值我这里就不赘述,本篇文章主要是将解构赋值的巧妙使用之处。 1、交互变量的值 常用交互...

秋季长青
28分钟前
0
0
Elasitcsearch High Level Rest Client学习笔记(三)批量api

Bulk Request BulkRequest可以在一起从请求执行批量添加、更新和删除,至少需要添加一个操作 BulkRequest request = new BulkRequest(); //创建BulkRequestrequest.add(new IndexRequest("...

木子SMZ
32分钟前
0
0
mybatis-dynamic sql

OGNL expressions if 判断是否存在值 <select id="findActiveBlogLike" resultType="Blog"> SELECT * FROM BLOG WHERE state = ‘ACTIVE’ <if test="title != null"> AND title like #{tit......

writeademo
39分钟前
0
0
社交系统ThinkSNS+ V1.8.3更新播报

     研发发布版本号:1.8.3   本次版本于2018年7月16日发布   本次发布类型:新增功能、细节调整与优化   社交系统ThinkSNSPlus更新体验:请于官网下载/安装最新版或联系QQ35159...

ThinkSNS账号
43分钟前
0
0
教育思考:选择编程是一场父母和孩子的和解[图]

教育思考:选择编程是一场父母和孩子的和解[图]: 之前有个很热的段子是这样讲的:深夜十点的时候,某小区一女子大声喊叫“什么关系?啊?!到底什么关系?你说!”最后发现原来是一位妈妈陪...

原创小博客
43分钟前
0
0
X64汇编之指令格式解析

最近由于项目组内要做特征码搜索的东西,便于去Hook一些未导出函数,你懂得...于是就闲着学习了一下x86/x64的汇编指令格式。x86的汇编指令格式请参照http://bbs.pediy.com/showthread.php?t...

simpower
46分钟前
0
0
rust 语法概要(只适合不熟悉时快速查阅使用,不适合理解其精髓。未完待续)

注意:本内容只适合快查,不适合理解精髓。精髓请研读 https://kaisery.github.io/trpl-zh-cn/foreword.html 基本数据类型 i8,i16,i32,i64,i128 u8,u16,u32,u64,u128 f32,f64 char bool:true...

捍卫机密
49分钟前
0
0
JS中严格模式和非严格模式

1,使用 严格模式的使用很简单,只有在代码首部加入字符串 "use strict"。必须在首部即首部指其前面没有任何有效js代码除注释,否则无效 2.注意事项 (1)不使用var声明变量严格模式中将不通...

AndyZhouX
49分钟前
0
0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

返回顶部
顶部