Calender使用
关键字
ERA = 0
year numbering system
YEAR = 1
年
MONTH = 2
月:{0,1,2,3,4,5,6,7,8,9,10,11,12}-->{一,二,三,四,五,六,七,八,九,十,十一,十二,十三}
注意:与自然月相比小1,多了一个十三月
WEEK_OF_YEAR = 3
一年中的第几周,自然周
WEEK_OF_MONTH = 4
一月中的第几周,自然周
DATE = DAY_OF_MONTH = 5
日期&一月中的第几天
DAY_OF_YEAR = 6
一年中的第几天
DAY_OF_WEEK = 7
一周中的第几天{1,2,3,4,5,6,7}-->{日,一,二,三,四,五,六}
DAY_OF_WEEK_IN_MONTH = 8
一月中的第几周,计算周,1日~7日为1,以此类推
AM_PM = 9
上午返回0,下午和12点返回1
HOUR = 10
小时,12小时制
HOUR_OF_DAY = 11
小时,24小时制
MINUTE = 12
分钟
SECOND = 13
秒
MILLISECOND = 14
毫秒
ZONE_OFFSET = 15
GMT相比时区偏移
DST_OFFSET = 16
夏令时偏移值
FIELD_COUNT = 17;
识别的不同字段的数量
set方法
set(int field, int value) 是用来设置"年/月/日/小时/分钟/秒/微秒"等值
field 的定义在 Calendar 中
set(int year, int month, int day, int hour, int minute, int second)
注意:月份的起始值为0而不是1,所以要设置n月时,我们用n-1。
容错处理
容错开关Lenient,调用setLenient设置容错开关
set方法调用值发生错误时,例:
if(Lenient)
set(Calendar.MONTH, -3) //计算三个月之前的日期
set(Calendar.DAY, 33) //计算33天之后的日期
else
set(Calendar.MONTH, -3) //java.lang.IllegalArgumentException
set(Calendar.DAY, 33) //java.lang.IllegalArgumentException
add() 与 roll()方法
add方法
规则1
当被修改的字段超出它可以的范围时,那么比它大的字段会自动修正。
规则2
如果比它小的字段是不可变的(由 Calendar 的实现类决定),那么该小字段会修正到变化最小的值。
网友评论