Java_Calendar
来源:互联网 发布:淘宝推广方法大全 编辑:程序博客网 时间:2024/04/28 12:41
Calendar类就相当于一张日历,这张日历上有一个一个的Date,你可以想象有一个指针指向这张日历上的某个Date。
我们可以用Calendar calendar = Calendar.getInstance();方法得到一个Calendar对象,得到的Calendar对象默认是当天的Date。
下面的代码讲解了各种取得日期,时间,星期的方法:
// 得到Calendar实例对象Calendar calendar = Calendar.getInstance();// 目前的日期+时间+星期System.out.println("Current Date:" + calendar.getTime());// 本年System.out.println("Current Year:" + calendar.get(Calendar.YEAR) + "年");// 本月(注意月份是从0开始的,所以要+1)System.out.println("Current Month:" + (calendar.get(Calendar.MONTH) + 1) + "月");// 本日System.out.println("Current Day Of Month:" + calendar.get(Calendar.DAY_OF_MONTH) + "日");System.out.println("Current Day Of Month:" + calendar.get(Calendar.DATE) + "日");// 本日在本周中的Index(周日是每个星期的第一天,周日~周六 对应着 1~7)final String[] ARRAY_WEEKS = { "星期日", "星期一", "星期二", "星期三", "星期四", "星期五", "星期六" };int dayOfWeek = calendar.get(Calendar.DAY_OF_WEEK);System.out.println("Current Week:" + ARRAY_WEEKS[dayOfWeek - 1]);// 本周在本月中的Index(即本月中的第几周)System.out.println("Current Day Of Week In Month:本月第" + calendar.get(Calendar.DAY_OF_WEEK_IN_MONTH) + "周");// 本日在本年中的Index(即本年中的第几天)System.out.println("Current Day Of Year:本年第" + calendar.get(Calendar.DAY_OF_YEAR) + "日");运行结果如下:
Current Date:Thu May 03 21:07:02 CST 2012Current Year:2012年Current Month:5月Current Day Of Month:3日Current Week:星期四Current Day Of Week In Month:本月第1周Current Day Of Year:本年第124日
指针默认是指向当天的Date的,那么怎么移动指针到其他的Date呢?
- setTime(Date date)
- set(int year, int month, int date)
- set(int year, int month, int date, int hourOfDay, int minute)
- set(int year, int month, int date, int hourOfDay, int minute, int second)
- set(int field, int value)
- add(int field, int amount)
第1、2、3、4种方法不解释
第5种方法:根据field决定设值方法,请看如下代码
// 设置Calendar的Date为本月第一天calendar.set(Calendar.DATE, 1);System.out.println("本月第一天的Date:" + calendar.getTime());// 设置Calendar的Date为本月第一天calendar.set(Calendar.DAY_OF_MONTH, 1);System.out.println("本月第一天的Date:" + calendar.getTime());// 设置Calendar的Date为本周第一天calendar.set(Calendar.DAY_OF_WEEK, 1);System.out.println("本周第一天的Date:" + calendar.getTime());运行结果如下:
本月第一天的Date:Tue May 01 21:53:09 CST 2012本月第一天的Date:Tue May 01 21:53:09 CST 2012本周第一天的Date:Sun Apr 29 21:53:09 CST 2012
第六种方法:在本Date的基础上增加或减少(可以增加减少年,月,日,周,时,分,秒)
// 增加一天calendar.add(Calendar.DATE, 1);System.out.println("增加一天:" + calendar.getTime());// 减少一天calendar.add(Calendar.DATE, -1);System.out.println("减少一天:" + calendar.getTime());// 增加一小时calendar.add(Calendar.HOUR, 1);System.out.println("增加一小时:" + calendar.getTime());
想得到今年有多少天,多少周,本月有多少天,多少周怎么办呢?
System.out.println("今年有:" + calendar.getActualMaximum(Calendar.DAY_OF_YEAR) + "天,"+ calendar.getActualMaximum(Calendar.WEEK_OF_YEAR) + "周");System.out.println("本月有:" + calendar.getActualMaximum(Calendar.DAY_OF_MONTH) + "天,"+ calendar.getActualMaximum(Calendar.WEEK_OF_MONTH) + "周");运行结果如下:
今年有:366天,52周本月有:31天,5周
- Java_Calendar
- hdu 2005 java_calendar
- java_calendar日历的显示
- FZU 2090 无向图最小环 floyd
- CFI查询(一)
- 西门子S7-200 PPI协议获取及其通信控件研究
- struts文件上传和遇到的问题
- 电容
- Java_Calendar
- 使用IAR和ZigBee遇到的问题
- 几个用过的PPI命令
- java 网络编程【9】 URL(统一资源定位符)
- Message Broker 8.0安装问题
- 第11章 排序
- CListCtrl SetExtendedStyle 简介
- SIEMENS PLC S7-200 物理寄存器&&映像寄存器 简介
- 常用 U-boot命令详解