java时间还在用date和calender?换LocalDateTime吧!

codeMonkey 2017-10-04 19:28

java在时间计算上一直为人所诟病,在社区强烈反应下,java8推出了线程安全、简易、高可靠的时间包。并且数据库中也支持LocalDateTime类型,所以在数据存储时候使时间变得简单。

LocalDateTime年月日十分秒;LocalDate日期;LocalTime时间;三个包的方法都差不多,以下选择LocalDateTime进行讲解。

一、基本操作:

java时间还在用date和calender?换LocalDateTime吧!_第1张图片

二、与传统的date互转

java时间还在用date和calender?换LocalDateTime吧!_第2张图片

三、时间长度

到目前为止,我们讨论的时间/日期类以多种不同的方式表示时间线上的一个点。java.time还为时间长度额外提供了两个值类型。

Duration表示以秒和纳秒为基准的时长。例如,“23.6秒”。

Period表示以年、月、日衡量的时长。例如,“3年2个月零6天”。

它们可以作为参数,传给主要的时间/日期类的增加或减少时间的方法:

java时间还在用date和calender?换LocalDateTime吧!_第3张图片

四、时区处理类ZonedDateTime

ZonedDateTime有LocalDateTime几乎相同的方法,不同的是它可以设置时区。

java时间还在用date和calender?换LocalDateTime吧!_第4张图片

尾言:jdk8有很多令人激动的点,比如时间操作,collections流。但是我们不能单纯认为localdatetime是calender类的替代品,它和date一样是一种类型,是数据库支持的类型,并且提出更加简易的方法,所以开发的小伙伴可以多多使用该时间处理类。

你可能感兴趣的:(java时间还在用date和calender?换LocalDateTime吧!)