Java 日期处理 Date 、Calendar 和TimeZone类

以下内容部分来自 疯狂Java讲义/李刚 ,博客仅用于个人笔记及帮助他人用途,无任何商业目的,如有侵权,请联系作者删除。

Date 类

Java提供了 Date 类来处理日期、时间(此处的Date是指 java.util包下的Date类,而不是java.sql 包下的Date类),Date对象既包含日期,也包含时间。Date类从 JDK1.0 起就开始存在了。但正因为它历史悠久,所以它的大部分构造器、方法都己经过时,不再推荐使用了。
Date类提供了6个构造器,其中4个己经Deprecated(Java不再推荐使用,使用不再推荐的构造器时编译器会提出警告信息,并导致程序性能、安全性等方面的问题),剩下的两个构造器如下所示:

(1)Date():生成一个代表当前日期时间的 Date 对象。该构造器在底层调用System.currentTimeMillis0获得long整数作为日期参数。
(2)Date(long date):根据指定的 long 型整数来生成一个Date对象。该构造器的参数表示创建的Date对象和 GMT1970年1月1日00:00:00 之间的时间差,以毫秒作为计时单位。

与Date构造器相同的是,Date对象的大部分方法也Deprecated了,剩下为数不多的几个方法·
(1)boolean after(Date when):测试该日期是否在指定日期when之后。
(2)boolean before(Date when):测试该日期是否在指定日期when之前。
(3)int compareTo(Date anotherDate):比较两个日期的大小,后面的时间大于前面的时间时返回 -1,否则返回1。
(4)int (Obj obj):当两个时间表示同一时刻时返回。
(5)long getTime():返回该时间对应的 long 型整数,即从 GMT1970-01-01 00:00:00到该Date对象之间的时间差,以毫秒作为计时单位。
(6)void setTime(long time):设置该Date对象的时间。

Calendar 类

因为Date类在设计上存在一些缺陷.所以Java提供了 Calendar 类来更好地处理日期和时间。Calendar是一个抽象类,它用于表示日历。

我们知道:历史上有着许多种纪年方法,它们的差异实在太大了,比如说一个人的生日是“七月七日”,那么一种可能是阳(公)历的七月七日,但也可以是阴(农)历的日期,为了统一计时,全世界通常选择最普及、最通用的日历:Gregorian Calendar,也就是我们在讲述年份时常用的“公元几几年”。

Calendar 类本身是一个抽象类,它是所有日历类的模板,并提供了一些所有日历通用的方法,但它本身不能直接实例化,程序只能创建 Calendar

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值