Android日期工具--calender使用

2017-05-26  本文已影响0人  努力减肥的orson

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 的实现类决定),那么该小字段会修正到变化最小的值。

上一篇下一篇

猜你喜欢

热点阅读