JDK源码(二十二):Calendar
Posted jdkSpring
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了JDK源码(二十二):Calendar相关的知识,希望对你有一定的参考价值。
类名
public abstract class Calendar
implements Serializable, Cloneable, Comparable<Calendar>
变量
除了上面这些变量,Calendar还提供了很多时间相关的静态变量,如YEAR、MONTH、WEEK_OF_YEAR ...
实例
Calendar calendar = Calendar.getInstance();
由于Calendar是抽象类,不能使用new关键字。在getInstance()方法中会根据TimeZone时区类型和Locale地区类型创建Calendar对象。
getInstance()
public static Calendar getInstance()
{
return createCalendar(TimeZone.getDefault(),
Locale.getDefault(Locale.Category.FORMAT));
}
createCalendar(TimeZone zone, Locale aLocale)
获取日期
set(int field, int value)
set方法是将给定的日历字段设置为给定值,internalSet方法中只有一句,fields[field] = value;将value值赋值到fields[]属性中。例如set(Calendar.YEAR, 2019)则表示将年份设置成2019年。
get(int field)
get方法用来获取实例化的Calendar对象储存的年月日时分秒星期等等信息,complete方法主要是对所有日期字段的值进行计算并赋值给相应变量。方法的参数通过Calendar.XXXX的形式填写,比如要想获取年份信息就用Calendar.YEAR、月份Calendar.MONTH、日期Calendar.Date、时Calendar.HOUR、分Calendar.MINUTE、秒Calendar.SECOND等等。
add(int field, int amount)
abstract public void add(int field, int amount);
add方法根据日历的规则,向给定日历字段添加或减去指定的时间量。此方法是抽象方法,调用的时候根据生成的Calendar对象调用对应的add方法。
前一天
以上是关于JDK源码(二十二):Calendar的主要内容,如果未能解决你的问题,请参考以下文章
API接口自动化测试框架搭建(二十二)-全局变量config.py完整代码及解读