两个日期相差月份_浅谈Java8日期时间处理

各位小伙伴们,我们又见面了,今天峰哥跟大家分享一下java8的全新日期时间处理API。在Java8之前,我们使用的日期时间是:

java.util.Datejava.util.Calendar

java.util.GregorianCalendar

日期时间与字符串之间的转换用java.text.SimpleDateFormat,这些处理日期的类有一个共同令人头疼的问题,就是这些对象都是变量,对象的数据属性可以被改变,而且还线程不安全。

如果想要线程安全,需要synchronized来辅助,这样复杂度和代码量就比较大了,而且修修补补的代码味道很差,现在好了,随着JDK8的发布,Java也提出全新的日期时间API,下面大家跟着峰哥一起探探究竟。

在jdk8中,日期的处理类都在java.time包下,常用的有:

LocalDate,LocalTime,LocalDateTime,Instant,ZonedDateTime等。下面就实战中就常用的功能进行案例测试.代码如下:

案例1

14f4d0a68e442a44ee4072d5fea4390e.png

获取当前的系统时间

案例2

4cc043c0a2fea077e145dade1f49fedf.png

获取当前系统时间的年月日的属性信息

案例3

5cc5054f2c7b7862701cad35339d0627.png

依据年月日参数,自定义一个日期

到这里,看明白没有,新的体系已经与以前不一样了,没有之前的年需要1970年起始计算,也没有了月份的从0开始计数,现在该是多少就还是多少,是不是很兴奋!

案例4

38a6de0f76abb6cbc37069d2046984b6.png

判断两个日期是否相等

新增的Api中,新出现了YearMonth和MonthDay两个类,可以判断年月和月日两个属性的值,这样就很方便对于特殊信息的比较,如银行卡的过期时间(yyyy/mm),结婚纪念日(mm/dd)。

案例5

488abd597d0940144f45e8281fd02da1.png

不同日期的年月比较

案例6

3def4d1e2701f963b514922012660a54.png

两个年费的月日比较

日期研究结束,研究时间相关api。

案例7

1d8e6686005b137acfafa3383ec7fc84.png

获取当前时间

案例8

9fbf56c31904117626a493164af39d03.png

2小时后的时间怎么获得

案例9

610286c0e309fafdae8ad888399b46d4.png

在日期上也可以进行加减

下面的案例解决是两个日期之间的比较计算问题。

案例10

5f34d94074d21325e0c09a0a747ef42b.png

判断两个日期哪个在前,哪个在后

案例11

c506ebc589872655dd5b7d1e8e69d62e.png

计算两个日期之间相差的月份或者年份

日期和字符串之间的转换是我们常见问题,必须有案例。

案例12

3b77b9db39178532961ddb7398a56e66.png

日期和字符串之间的转换

好了,有关jdk8的日期处理还有很多很多,比如时区等操作,由于篇幅有限,这次就分享到这里了,小伙伴们,有时间峰哥下次继续跟大家分享。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值