java.util.Calendar简介

本文详细介绍了 Java 中 Calendar 类的使用方法,包括如何获取当前日期、设置日期、获取日期的各个部分等。同时提供了实例演示如何避免月份设置时的常见错误。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

java.util.Calendar简介

 一般写为:import java.util.Calendar;在开头
然后在中间写上,

Calendar cal = Calendar.getInstance();
int year=cal.get(Calendar.YEAR);
int month=cal.get(Calendar.MONTH);就可以了;

Calendar是一个抽象类,我们无法直接实例化它,它有一个具体子类实体类java.util.GregorianCalendar,这个类实现的就是我们日常所用的公历历法,或者叫做阳历。我们可以直接使用new命令创建它的实例,或者使用Calendar类的getInstance方法来获得它实例. 
Calendar c1 = Calendar.getInstance();   
Calendar c2 = new GregorianCalendar();   
// 参数含义依次为:年、月、日(、时、分、秒 ), 
Calendar c3 = new GregorianCalendar(2008, 8, 8, 18, 10, 5);   

有两个地方需要注意: 

JAVA表示的月份是从0开始的,也就是说它用来表示月份的数值总是比实际月份值小1。因此我们要表示8月份,就是应该设置8-1=7这个值。 
GregorianCalendar的小时数是24小时制的。 
为了避免出现因为忘记处理1的差值而设置了错误的月份,也让代码看起来更加直观,推荐大家使用定义在Calendar类的的这些常量来代替直接用数字表示月份: 
一月:Calendar.JANUARY = 0 
二月:Calendar.FEBRUARY = 1 
三月:Calendar.MARCH = 2 
四月:Calendar.APRIL = 3 
五月:Calendar.MAY = 4 
六月:Calendar.JUNE = 5 
七月:Calendar.JULY = 6 
八月:Calendar.AUGUST = 7 
九月:Calendar.SEPTEMBER = 8 
十月:Calendar.OCTOBER = 9 
十一月:Calendar.NOVEMBER = 10 
十二月:Calendar.DECEMBER = 11 
如果我们想要从Calendar对象获得各种属性的值,就需要调用它的get(int field)方法,这个方法接收一个int型的参数,并且根据这个给定参数的值来返回相应的属性的值。 

当前时刻:2008年07月22日 13:16:07.421 
属性名称:Calendar.AM_PM 
代表含义:上下午标识,上午返回Calendar.AM=0,下午返回Calendar.PM=1 
测试结果:1 
属性名称:Calendar.DATE 
代表含义:一个月中的第几天,同Calendar.DAY_OF_MONTH 
测试结果:22 
属性名称:Calendar.DAY_OF_MONTH 
代表含义:一个月中的第几天,同Calendar.DATE 
测试结果:22 
属性名称:Calendar.DAY_OF_WEEK 
代表含义:一周中的第几天,对应星期几,第一天为星期日,于此类推。 
星期日:Calendar.SUNDAY=1 
星期一:Calendar.MONDAY=2 
星期二:Calendar.TUESDAY=3 
星期三:Calendar.WEDNESDAY=4 
星期四:Calendar.THURSDAY=5 
星期五:Calendar.FRIDAY=6 
星期六:Calendar.SATURDAY=7 
测试结果:3 
属性名称:Calendar.DAY_OF_WEEK_IN_MONTH 
代表含义:这一天所对应的星期几在该月中是第几次出现 
测试结果:4 
属性名称:Calendar.DAY_OF_YEAR 
代表含义:一年中的第几天 
测试结果:204 
属性名称:Calendar.HOUR 
代表含义:12小时制下的小时数,中午和午夜表示为0 
测试结果:1 
属性名称:Calendar.HOUR_OF_DAY 
代表含义:24小时制下的小时数,午夜表示为0 
测试结果:13 
属性名称:Calendar.MILLISECOND 
代表含义:毫秒数 
测试结果:421 
属性名称:Calendar.MINUTE 
代表含义:分钟 
测试结果:16 
属性名称:Calendar.MONTH 
代表含义:月份,从0到11表示12个月份,比实际月份值小1 
测试结果:6 
属性名称:Calendar.SECOND 
代表含义:秒 
测试结果:7 
属性名称:Calendar.WEEK_OF_MONTH 
代表含义:一个月中的第几个星期 
测试结果:4 
属性名称:Calendar.WEEK_OF_YEAR 
代表含义:一年中的第几个星期 
测试结果:30 
属性名称:Calendar.YEAR 
代表含义:年份 
测试结果:2008

 

 

转载于:https://www.cnblogs.com/1996313xjf/p/5877215.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值