您的位置:首页 > 编程语言 > Java开发

Java笔记之Calendar使用

2015-04-16 11:16 330 查看
package com.qw.test;

import java.util.Calendar;

public class A {

public static void main(String[] args) {
Calendar cl = Calendar.getInstance();
System.out.println(cl.toString());
System.out.println("年:" + cl.get(Calendar.YEAR));
/**
* 此处获取到的月份值是从0开始的,也就是说0代表一月,所以在使用的时候记得将其值加1
*/
System.out.println("月:" + (cl.get(Calendar.MONTH) + 1));

System.out.println("日:" + cl.get(Calendar.DAY_OF_MONTH));

/**
* 需再处理,在西方星期从周日开始计算,所以1表示周日,然后2表示周一,以此类推。
* 通常我们将DAY_OF_WEEK取得的值减1,完成周一到周六的数值对应,特殊处理减一后, 表示周日的0
*/
int dayOfWeek = cl.get(Calendar.DAY_OF_WEEK) - 1;
dayOfWeek = dayOfWeek == 0 ? 7 : dayOfWeek;
System.out.println("星期:" + dayOfWeek);

System.out.println("该月中第几周:" + (cl.get(Calendar.DAY_OF_WEEK_IN_MONTH)));
System.out.println("该年中第几天:" + cl.get(Calendar.DAY_OF_YEAR));
System.out.println("12小时制_时:" + cl.get(Calendar.HOUR));
System.out.println("24小时制_时:" + cl.get(Calendar.HOUR_OF_DAY));
System.out.println("AM/PM:" + cl.get(Calendar.AM_PM)); // 0:AM,1:PM
System.out.println("分:" + cl.get(Calendar.MINUTE));
System.out.println("秒:" + cl.get(Calendar.SECOND));
System.out.println("毫秒:" + cl.get(Calendar.MILLISECOND));

System.out.println("\n----------add使用----------------增加5小时");
cl.add(Calendar.HOUR, 5); // 对指定的域做加法,此处是将时间增加5小时
System.out.println("日:" + cl.get(Calendar.DAY_OF_MONTH));
System.out.println("12小时制_时:" + cl.get(Calendar.HOUR));
System.out.println("24小时制_时:" + cl.get(Calendar.HOUR_OF_DAY));
System.out.println("AM/PM:" + cl.get(Calendar.AM_PM)); // 0:AM,1:PM

System.out.println("\n-------roll/add比较------------");
Calendar cl2 = Calendar.getInstance();
Calendar cl3 = Calendar.getInstance();
cl2.roll(Calendar.HOUR, 24); // 对指定的域做加法,此处是将时间增加24小时
cl3.add(Calendar.HOUR, 24); // 对指定的域做加法,此处是将时间增加24小时
System.out.println("日(roll后):" + cl2.get(Calendar.DAY_OF_MONTH)); // 未发生进位运算
System.out.println("日(add后):" + cl3.get(Calendar.DAY_OF_MONTH)); // 发生进位运算
System.out.println("12小时制_时:" + cl2.get(Calendar.HOUR));
System.out.println("24小时制_时:" + cl2.get(Calendar.HOUR_OF_DAY));

/**
* 关于Calendar还有很多set\get、时间比较方法,都相当简单,请自行使用就好
* 以下示例,对指定域的值进行设置,如果该值超出该域最大值范围,自动修正, 可能会导致进位、退位运算
*/
Calendar cl4 = Calendar.getInstance();
System.out.println("\n-------set使用------------");
cl4.set(Calendar.HOUR, 37);
System.out.println("日:" + cl4.get(Calendar.DAY_OF_MONTH));
System.out.println("12小时制_时:" + cl4.get(Calendar.HOUR));
System.out.println("24小时制_时:" + cl4.get(Calendar.HOUR_OF_DAY));
}

}


代码运行结果:

java.util.GregorianCalendar[time=1430099850981,areFieldsSet=true,areAllFieldsSet=true,lenient=true,zone=sun.util.calendar.ZoneInfo[id=”GMT+08:00”,offset=28800000,dstSavings=0,useDaylight=false,transitions=0,lastRule=null],firstDayOfWeek=1,minimalDaysInFirstWeek=1,ERA=1,YEAR=2015,MONTH=3,WEEK_OF_YEAR=18,WEEK_OF_MONTH=5,DAY_OF_MONTH=27,DAY_OF_YEAR=117,DAY_OF_WEEK=2,DAY_OF_WEEK_IN_MONTH=4,AM_PM=0,HOUR=9,HOUR_OF_DAY=9,MINUTE=57,SECOND=30,MILLISECOND=981,ZONE_OFFSET=28800000,DST_OFFSET=0]

年:2015

月:4

日:27

星期:1

该月中第几周:4

该年中第几天:117

12小时制_时:9

24小时制_时:9

AM/PM:0

分:57

秒:30

毫秒:981

———-add使用—————-增加5小时

日:27

12小时制_时:2

24小时制_时:14

AM/PM:1

——-roll/add比较————

日(roll后):27

日(add后):28

12小时制_时:9

24小时制_时:9

——-set使用————

日:28

12小时制_时:1

24小时制_时:13
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  java calendar