Calendar的一些知识

Calendar类的方法
1. getInstance()静态方法

/*该方法返回Calendar类的子类对象;为什么说『返回Calendar类的子类对象』?首先Calendar类是一个抽象类,所以不存在所谓的Calendar类的实例,其次在地球上有很多不同的时区,不同的时区就要对应不同的Calendar类的的子类(每个国家都有自己的一套日历算法,比如西方的国家的第一个星期大部分为星期日,而中国则为星期一,等等)*/

Calendar.getInstance();

源码是:

/*函数功能:创建一个新的Calendar子类对象(封装了createCalendar) 
 *请参说明:没有参数,主要实现都在createCalendar里面了...
 */
public static Calendar getInstance()
{
    Calendar cal = createCalendar(TimeZone.getDefaultRef(), Locale.getDefault(Locale.Category.FORMAT));
    cal.sharedZone = true;
    return cal;
 }

/*函数功能:根据不同国家地区构造对应的日期类,当调用geInstaance时会自动调用该方法(被封装到calendar.getInstance()方法内)
*请参说明:zone->时区,java.util.Locale主要用来在软件的本地化时使用,本身没有什么作用,更多的是作为一个参数辅助其它的方法完成输出的本地化
*/

Calendar类是一个抽象类(Calendar类不能直接创建实例),它为特定瞬间与一组诸如YEAR、MONTH、DAY_OF_MONTH、HOUR等日历字段之间的转换提供了一些方法,并为操作日历字段(例如获得下个星期的日期)提供了一些方法;瞬间可用毫秒值来表示,它是距历元(格林威治时间1970年1月1日的00:00:00.000)的偏移量

Calendar类如果要创建实例,必须通过getInstance方法构造Calendar的子类对象

Calendar cal = Calendar.getInstance();
// 设置一年中的第一天
cal.set(Calendar.DAY_OF_YEAR, cal.get(Calendar.DAY_OF_YEAR) - 1);
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值