首页
学习
活动
专区
工具
TVP
发布

Java 8 中处理日期和时间示例

1、获取今天的日期

2、指定日期,进行相应操作

3、生日检查或者账单日检查

4、获取当前的时间

5、日期前后比较

6、处理不同时区的时间

7、比较两个日期之前时间差

8、日期时间格式解析、格式化

9、java8 时间类与Date类的相互转化

在Java 8以前,日期和时间处理一直被广大java程序员抱怨太难用,首先是和中,都包含类,如果要进行时间格式化,还需要类处理。同时中既包含了日期,又包含了时间,所以java8新的日期和时间库,很好的解决了以前日期和时间类的很多弊端。并且也借鉴了第三方日期库很多的优点。

在java8中,包下主要包含下面几个主要的类:

以及包中的

下面我们通过例子来看如何使用java8新的日期时间库

1、获取今天的日期

2、指定日期,进行相应操作

3、生日检查或者账单日检查

开发过程中,经常需要为过生日的用户送上一些祝福,例如,用户的生日为1990-10-12,如果今天是2016-10-12,那么今天就是用户的生日(按公历/身份证日期来算),那么通过java8新的日期库,我们该如何来进行判断?

在java8中,可以使用,该类不包含年份信息,当然还有一个类是

4、获取当前的时间

日期主要是使用LocalTime,该类不包含日期,只有时间信息

5、日期前后比较

比较2个日期哪个在前,哪个在后,java8 LocalDate提供了2个方法,,

6、处理不同时区的时间

java8中,将日期,时间,时区都很好的进行了分离。

7、比较两个日期之前时间差

在项目中,经常需要比较两个日期之间相差几天,或者相隔几个月,我们可以使用java8的Period来进行处理。

我们可以看到,我们使用Period类比较天数,比较奇怪,他返回的值,并不是2个日期之间总共的天数差,而是一个相对天数差,比如,5月1日,和10月2日,他比较的是仅仅2个天之间的差,那1号和2号,相差1天,而实际上,因为中间相差了好几个月,所以真正的天数差肯定不是1天,所以我们可以使用until,并指明精度单位是days,就可以计算真正的天数差了。

8、日期时间格式解析、格式化

在java8之前,我们进行时间格式化主要是使用,而在java8中,主要是使用,java8中,预定义了一些标准的时间格式,我们可以直接将时间转换为标准的时间格式:

当然,很多时间标准的时间格式可能也不满足我们的要求,我们需要转为自定义的时间格式

9、java8 时间类与Date类的相互转化

在转换中,我们需要注意,因为java8之前Date是包含日期和时间的,而LocalDate只包含日期,LocalTime只包含时间,所以与Date在互转中,势必会丢失日期或者时间,或者会使用起始时间。如果转LocalDateTime,那么就不存在信息误差。

  • 发表于:
  • 原文链接https://kuaibao.qq.com/s/20191003A02W9R00?refer=cp_1026
  • 腾讯「腾讯云开发者社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 cloudcommunity@tencent.com 删除。

扫码

添加站长 进交流群

领取专属 10元无门槛券

私享最新 技术干货

扫码加入开发者社群
领券