博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
使用GregorianCalendar模拟实现查看当前月的日历
阅读量:6946 次
发布时间:2019-06-27

本文共 2579 字,大约阅读时间需要 8 分钟。

  本次实验在于测试日期类的一些方法的使用,通常我们会使用Calendar调用getInstance()方法创建对象, 这里也可以使用Calendar的子类 GregorianCalendar类去创建,在这里,模拟实现了,通过运行该代码段,就 能知道今天是几月的几号的星期几了,不多说啦,直接上代码... import java.text.SimpleDateFormat;import java.util.Calendar;import java.util.GregorianCalendar;//import java.util.Locale;//import java.text.DateFormatSymbols;/** * 测试用于模拟手机日历,该程序用于———显示当前月的日历 *  * @author YYCat * */public class TestImitateCalendar {        public static void main(String[] args){        ////        Locale.setDefault(Locale.CHINESE);        GregorianCalendar calendar = new GregorianCalendar();        //创建格里高利日历对象            /**         * 输出样例eg:2015年7月         */        SimpleDateFormat sdf = new SimpleDateFormat("yyyy年MM月");        System.out.println("        " + sdf.format(calendar.getTime()));        /**         * 获得当前月、日         */                int month = calendar.get(Calendar.MONTH) + 1;        int today = calendar.get(Calendar.DAY_OF_MONTH);            //获得今天是在这个月的第几天                /**         * 注:         * 打印今天是星期几?的时候注意地区差异         * System.out.println(day=1?7:day-1);         *///        int w = calendar.get(Calendar.DAY_OF_WEEK)-1;                //        int weekday = calendar.get(Calendar.DAY_OF_WEEK) -1;        //表示这一天为星期几//System.out.println("month: " + month);//System.out.println("today: " + today);                /**         * 返回到本月到第一天,并得到这一天为星期几。         *          * 获得这个月的第一天在该月中是星期几,便于计算空格         */        calendar.set(Calendar.DAY_OF_MONTH, 1);        int weekday = calendar.get(Calendar.DAY_OF_WEEK);            //today = calendar.get(Calendar.DAY_OF_MONTH);//System.out.println("today:" + today);        int firstdayOfWeek = calendar.getFirstDayOfWeek();//System.out.println("weekday: " + weekday);//System.out.println("firstdayOfWeek:" + firstdayOfWeek);                /**         * 以下功能实现         */                int indent = 0;        //该标示用于表示:本月的一天前的空位,准确定位到具体的那个星期上        /**         * 当本月的第一天不为星期天 时,则         * 移动计算该天距第一天的位置         */        while(firstdayOfWeek!=weekday){            indent++;            calendar.add(Calendar.DAY_OF_MONTH, -1);            //        /*    today = calendar.get(Calendar.DAY_OF_MONTH);            System.out.println("today:" + today);            居然是30 29 28...            */            weekday = calendar.get(Calendar.DAY_OF_WEEK);            //老是忘掉了减一....目的是将这一天向前移动一天        }//System.out.println(indent);        //定义一个现实星期的数组        String[] week = {"日","一", "二", "三", "四", "五", "六"};                        for(int i=0; i
参考自java Core,接下来我将会把实现模拟时钟功能的代码段继续奉献给大家
 

 

转载于:https://www.cnblogs.com/YYCat/p/4697127.html

你可能感兴趣的文章
如何使用VIM的列编辑模式 [转]
查看>>
System.Collections简介
查看>>
POJ-3211 Washing Clothes[01背包问题]
查看>>
Android--MediaPlayer(实现列表选歌,上一首,下一首,清空播放列表,搜索本地音乐文件)...
查看>>
ODE的buggy例程分析
查看>>
判断文章/帖子操作权限
查看>>
计算机英文缩写
查看>>
Windows2003 SQL2005解决系统Administrator密码不知道的问题
查看>>
curl常用的5个例子(转)
查看>>
wCF 问题收集页
查看>>
《ASP.NET MVC4 WEB编程》学习笔记------.net mvc实现原理ActionResult/View
查看>>
1、传感器概述
查看>>
需求分析报告和需求规格说明书有什么区别
查看>>
转:Vmware Exsi使用简要说明
查看>>
MessageDigest简单介绍
查看>>
Apache commons-net用法的一个示例
查看>>
第三方平台正式支持接入微信公众平台JS-SDK
查看>>
openpgp和gnupg
查看>>
你是程序猿这块料吗?
查看>>
WordCount 远程集群源码
查看>>