Calendar是一个抽象类,主要用来操作日历时间字段。在Java.util.Calendar包中,Calendar在开发中基本都会使用得到,这里对经常使用到的做个总结,也可能有遗漏,遇到再补,慢慢完善。
常用的方法
abstract void add(int field, int amount) | 此方法添加或减去指定的时间量,以给定日历字段,基于日历的规则。 |
boolean after(Object obj) | 这个方法返回当前日历是否代表在指定Object表示的时间之后的时间。 |
boolean before(Object when) | 这个方法返回当前日历是否代表在指定Object表示的时间之前的时间。 |
void clear() | 此方法设置此Calendar的所有日历字段值和时间值(毫秒从历元至偏移量)未定义。 |
Object clone() | 此方法创建并返回此对象的一个副本。 |
int compareTo(Calendar anotherCalendar) | 这个方法比较两个Calendar对象表示的时间值(从历元至毫秒偏移量)。 |
boolean equals(Object obj) | 这个方法使日历比较指定的对象。 |
int get(int field) | 此方法返回给定日历字段的值。 |
int getActualMaximum(int field) | 此方法返回指定日历字段可能拥有的最大值,鉴于此Calendar时间值。 |
int getActualMinimum(int field) | 此方法返回指定日历字段可能拥有的最小值,鉴于此Calendar时间值。 |
static Calendar getInstance() | 使用默认时区和语言环境这种方法获得一个日历。 |
static Calendar getInstance(Locale aLocale) | 使用默认时区和指定的区域设置此方法获取一个日历。 |
static Calendar getInstance(TimeZone zone) | 使用指定的时区和默认语言环境这种方法得到一个日历。 |
static Calendar getInstance(TimeZone zone, Locale aLocale) | 这种方法得到一个日历指定的时区和语言环境。 |
abstract int getMaximum(int field) | 此方法返回此Calendar实例给定日历字段的最大值。 |
abstract int getMinimum(int field) | 此方法返回此Calendar实例给定日历字段的最小值。 |
Date getTime() | 此方法返回表示此Calendar的时间值(从历元至“毫秒偏移量)的Date对象。 |
long getTimeInMillis() | 该方法以毫秒为单位返回此Calendar的时间值。 |
abstract void roll(int field, boolean up) | 此方法添加或减去(上/下)的时候一个单元在给定的时间字段不更改更大的字段。 |
void roll(int field, int amount) | 此方法将指定的(签署)金额至指定日历字段不更改更大的字段。 |
void set(int field, int value) | 此方法设置给定日历字段为给定值。 |
void set(int year, int month, int date) | 此方法设置为日历字段的值 YEAR, MONTH, and DAY_OF_MONTH.. |
void set(int year, int month, int date, int hourOfDay, int minute) | 此方法设置为日历字段的值YEAR, MONTH, DAY_OF_MONTH, HOUR_OF_DAY, 和 MINUTE. |
void set(int year, int month, int date, int hourOfDay, int minute, int second) | 此方法设置的字段的值YEAR, MONTH, DAY_OF_MONTH, HOUR, MINUTE, 和SECOND. |
常用的场景
1,获取今天或者之后多少天的日期
2,计算某个月的天数是多少3,计算某一天是该年或该月的第几个星期
4,计算一年中的第几星期是几号 5,查询显示当前的后几天,前几天等 roll()方法和add()方法用法一样,不过roll()方法是在本月循环,比如,七月三十一号加五天,add()方法结果是八月五号; roll()方法是七月五号,roll()方法用到的少,一般add()使用较多。测试roll()方法:
6,计算两个任意时间中间相隔的天数
计算任意两个日期的相隔天数使用场景较多,如查询某个时间段注册的新用户,或者某个时间段内销售总额等等。