java中GregorianCalendar类和Calendar类区别

小编 547

java中GregorianCalendar类和Calendar类区别:首先,两者性质不同,GregorianCalendar类是具体的子类,可以使用new关键字创建实例;而Calendar是一个抽象父类,不能直接创建实例。其次,两者作用不同,Calendar是java提供的日历类,而GregorianCalendar提供标准日历系统。

1.两者性质不同

Calendar是一个抽象类,不能直接创建实例。如果要创建实例,必须通过getInstance方法构造Calendar的子类对象;而GregorianCalendar类是Calendar的一个具体子类,可以使用new关键字创建实例。

2.两者作用不同

Calendar是java提供的日历类,日历的作用是提供某个时间点的年、月、日等信息。在地球上有很多不同的时区,不同的时区就要对应不同的Calendar类的的子类。Calendar类的静态方法getInstance()可以初始化一个日历对象:Calendar now = Calendar.getInstance()。

GregorianCalendar类是Calendar类的一个实现类,它提供了世界上大多数国家/地区使用的标准日历系统。它是一种混合日历,可由调用者通过调用setGregorianChange() 来更改起始日期。

简单理解GregorianCalendar类和Calendar类的区别,就是“父亲与儿子”的区别。GregorianCalendar类是Calendar类子类,它继承Calendar类。

延伸阅读

java中Calendar类如何使用

Calendar 类是一个抽象类,它为特定瞬间与YEAR、MONTH、DAY_OF—MONTH、HOUR 等日历字段之间的转换提供了一些方法,并为操作日历字段(如获得下星期的日期)提供了一些方法。创建Calendar对象不能使用new 关键字,但是它提供了一个getInstance() 方法来获得Calendar类的对象。

当创建了一个Calendar对象后,就可以通过Calendar对象中的一些方法来处理日期、时间。Calendar对象可以调用set()方法将日历翻到任何一个时间,当参数year取负数时表示公元前。Calendar对象调用get() 方法可以获取有关年、月、日等时间信息,参数field 的有效值由Calendar静态常量指定。

Calendar类中定义了许多常量,分别表示不同的意义,具体如下:

  • Calendar.YEAR:年份。
  • Calendar.MONTH:月份。
  • Calendar.DATE:日期。
  • Calendar.DAY_OF_MONTH:日期,和上面的字段意义完全相同。
  • Calendar.HOUR:12小时制的小时。
  • Calendar.HOUR_OF_DAY:24 小时制的小时。
  • Calendar.MINUTE:分钟。
  • Calendar.SECOND:秒。
  • Calendar.DAY_OF_WEEK:星期几。

回复

我来回复
  • 暂无回复内容

注册PingCode 在线客服
站长微信
站长微信
电话联系

400-800-1024

工作日9:30-21:00在线

分享本页
返回顶部