优秀的编程知识分享平台

网站首页 > 技术文章 正文

浅谈Java8日期时间处理(抗美援朝战争时间的起止日期)

nanyue 2024-10-22 13:09:45 技术文章 2 ℃

各位小伙伴们,我们又见面了,今天峰哥跟大家分享一下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

获取当前的系统时间


案例2

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


案例3

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


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


案例4

判断两个日期是否相等


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


案例5

不同日期的年月比较


案例6

两个年费的月日比较


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


案例7

获取当前时间


案例8

2小时后的时间怎么获得


案例9

在日期上也可以进行加减


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


案例10

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


案例11

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


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


案例12

日期和字符串之间的转换


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

最近发表
标签列表