



下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
第一篇文章弄懂Java8中的时间处理目录前言LocalDateTimeZonedDateTimeInstant总结
前言
java8借鉴了第三方日期库joda很多的优点
java.time包
类名描述Instant时间戳Duration持续时间,时间差LocalDate只包含日期,比如:2025-05-20LocalTime只包含时间,比如:13:14:00LocalDateTime包含日期和时间,比如:2025-05-2013:14:00Period时间段ZoneOffset时区偏移量,比如:+8:00ZonedDateTime带时区的时间Clock时钟,比如获取目前美国纽约的时间
java.time.format包
类名描述DateTimeFormatter时间格式化
Java8提供了全新的时间处理框架,这里就可以完全丢弃之前的Date、Calendar了。
具体的API的使用都是比较简单的。这里就不展开介绍了。
这里主要介绍下一些主要的类
LocalDateTime
我们一般常用的就是这个了,用这个来表示日期时间。如LocalDateTime.now()就可以基于当前默认时区得到当前的日期时间。
由于全球有好多时区,同一个日期时间,在不同的时区,反映到时间轴上是不同的。
LocalDateTime类型的日期时间是没包含时区,所以它不能对应到时间轴上。说的直白点就是LocalDateTime不能转换成自1970-01-01T00:00:00Z纪元以来的毫秒数。
ZonedDateTime
ZonedDateTime可以理解就是在LocalDateTime的基础上添加上时区,所以它是可以反映到时间轴上的。
下面用夏令时举个例子来看看LocalDateTime和LocalDateTime的区别。
夏令时是什么这里就不展开了,具体可以网上查下。看看我国1986开始的夏令时。
简单来说就是在夏令时开始的时候,将时钟向后拨1个小时。对应我国1986年开始的夏令时的做法,就是在每年四月中旬的第一个星期日当时钟到达凌晨2点时,直接将时钟拨到凌晨3点。也就是凌晨1点和凌晨3点之间之差1个小时。
由于1986年是开始实施的,所以1986年的夏令时是1986年5月4日开始的。
我们看看1987年的夏令时开始
根据我国当时的夏令时政策,1987年应该是1987年4月12日开始的。具体来说就是在1987-04-1201:00:00过一个小时后,时间应该是1987-04-1203:00:00
LocalDateTimelocalDateTime=LocalDateTime.of(1987,4,12,1,0,0,0);
System.out.println(localDateTime);
System.out.println(localDateTime.plusHours(1));
执行上面的代码就可以看到当1987-04-1201:00:00增加1小时后,时间是1987-04-1202:00:00。
这个也好理解,因为LocalDateTime并没有包含时区,1987-04-1202:00:00这个夏令时只是中国的,并不是全球统一的,如果1987-04-1202:00:00将直接变成1987-04-1203:00:00放到中国以外的其他国家就是错误的。
ZonedDateTimezonedDateTime=ZonedDateTime.of(1987,4,12,1,0,0,0,ZoneId.systemDefault());
System.out.println(zonedDateTime);
System.out.println(zonedDateTime.plusHours(1));
执行上面的代码可以看到当1987-04-1201:00:00增加1小时后,时间变成了是1987-04-1203:00:00。这个也就能说明问题了。
同时从打印结果也能看到时区自动从+08:00[Asia/Shanghai]变成了+09:00[Asia/Shanghai]
Instant
Instant表示时间轴上的一个瞬时时间,简单来说就是表示自1970-01-01T00:00:00Z纪元以来的秒数、毫秒数等等
ZonedDateTime和Instant都能对应到时间轴上,所以它们两个是可以相互转化的。
Instantinstant=zonedDateTime.toInstant();
ZonedDateTimezonedDateTime1=instant.atZone(zonedDateTime.getZone()
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 行政法学多元思维试题及答案
- 火灾护理的应急预案(3篇)
- 2025年消费趋势与战略调整试题及答案
- 代码优化技术及其影响试题及答案
- 2025年法学概论考试准备指南与试题及答案
- 2025年软考设计师常识回顾试题及答案
- 技术员考试如何应对变化与试题及答案
- 设计思维在程序开发中的应用试题及答案
- 预判可能的2024年高考数学试题及答案
- 期末词汇专项检测卷(试卷)-2024-2025学年人教精通版英语五年级下册(含答案)
- 北京市《配电室安全管理规范》(DB11T 527-2021)地方标准
- 工程物品采购清单-含公式
- 生活垃圾分类运营方案
- 带货主播规章制度范本
- 麻醉科医师晋升副主任医师病例分析专题报告三篇
- HG∕T 3714-2014 耐油输送带 国标
- 2024年湖南省高中学业水平合格性考试英语试卷真题(含答案详解)
- 《内科胸腔镜术》课件
- 2024年《体育基础理论》考试题库(含答案)
- CJJ 33-2005城镇燃气输配工程施工与验收规范
- 《市场营销:网络时代的超越竞争》第4版 课件 第9章 通过构建渠道网络传递顾客价值
评论
0/150
提交评论