当前位置: 首页 > news >正文

JDK8中新日期时间API

新日期时间API出现的背景
如果我们可以跟别人说:“我们在1502643933071见面,别晚了!”那么就再简单不
过了。但是我们希望时间与昼夜和四季有关,于是事情就变复杂了。JDK 1.0中包含了
一个java.util.Date类,但是它的大多数方法已经在JDK 1.1引入Calendar类之后被弃用
了。而Calendar并不比Date好多少。它们面临的问题是:
可变性:像日期和时间这样的类应该是不可变的。
偏移性:Date中的年份是从1900开始的,而月份都从0开始。
格式化:格式化只对Date有用,Calendar则不行。
此外,它们也不是线程安全的;不能处理闰秒等。
总结:对日期和时间的操作一直是Java程序员最痛苦的地方之一
新时间日期API
第三次引入的API是成功的,并且Java 8中引入的java.time API已经纠正了
过去的缺陷,将来很长一段时间内它都会为我们服务。
Java 8吸收了Joda-Time的精华,以一个新的开始为Java创建优秀的API
新的java.time中包含了所有关于本地日期(LocalDate)、本地时间
LocalTime)、本地日期时间(LocalDateTime)、时区(ZonedDateTime
和持续时间(Duration)的类。历史悠久的Date类新增了toInstant()方法,
用于把Date转换成新的表示形式。这些新增的本地化时间日期API大大简
化了日期时间和本地化的管理。
新时间日期API
java.time包含值对象的基础包
java.time.chrono提供对不同的日历系统的访问
java.time.format格式化和解析时间和日期
java.time.temporal包括底层框架和扩展特性
java.time.zone包含时区支持的类
说明:大多数开发者只会用到基础包和format包,也可能会用到temporal包。因此,尽
管有68个新的公开类型,大多数开发者,大概将只会用到其中的三分之一。
LocalDateLocalTimeLocalDateTime类是其中较重要的几个类,它们的实例
不可变的对象,分别表示使用ISO-8601日历系统的日期、时间、日期和时间。
它们提供了简单的本地日期或时间,并不包含当前的时间信息,也不包含与时区
相关的信息。
LocalDate代表IOS格式(yyyy-MM-dd)的日期,可以存储 生日、纪念日等日期。
LocalTime表示一个时间,而不是日期。
LocalDateTime是用来表示日期和时间的,这是一个最常用的类之一。
注:ISO-8601日历系统是国际标准化组织制定的现代公民的日期和时间的表示
法,也就是公历。

9.3.2瞬时:Instant
Instant:时间线上的一个瞬时点。 这可能被用来记录应用程序中的事件时间
戳。
在处理时间和日期的时候,我们通常会想到年,,,,,秒。然而,这只是
时间的一个模型,是面向人类的。第二种通用模型是面向机器的,或者说是连
续的。在此模型中,时间线中的一个点表示为一个很大的数,这有利于计算机
处理。UNIX中,这个数从1970年开始,以秒为的单位;同样的,在Java中,
也是从1970年开始,但以毫秒为单位。
java.time包通过值类型Instant提供机器视图,不提供处理人类意义上的时间
单位。Instant表示时间线上的一点,而不需要任何上下文信息,例如,时区。
概念上讲,它只是简单的表示自197011000秒(UTC)开始的秒
数。因为java.time包是基于纳秒计算的,所以Instant的精度可以达到纳秒级。
(1 ns = 10-9s) 1= 1000毫秒=10^6微秒=10^9纳秒

http://www.jsqmd.com/news/715632/

相关文章:

  • 版图工程师的键盘交响曲:Move/Copy/Slot之外,这些Virtuoso冷门快捷键让你的效率翻倍
  • 鸣潮自动化工具终极指南:3分钟配置,解放你的游戏时间
  • 不止于做题:用C语言实现链表花式重排,解锁数据处理新思路
  • 抖音批量下载终极指南:3步搞定无水印视频自动化处理
  • 从树莓派CM4载板迁移到地平线RDK X3模组:一份详细的引脚兼容性与避坑指南
  • 常见 HTTP 状态码详解
  • 抖音无水印下载工具:5分钟学会批量保存视频和直播内容
  • Intel多核处理器与SIMD在数字信号处理中的应用与优化
  • **WebGPU实战:从零构建高性能图形渲染引擎的创新路径**在现代Web开发中,**WebGPU**作为下一代图形和计算API
  • 期货资管系统选型指南:如何选择安全高效的 - 大宗商品交易系统开发
  • VS Code Copilot Next 智能工作流配置实战手册(2024企业级SOP已验证):覆盖CI/CD集成、多环境变量注入、GitOps联动全链路
  • Dify工作流实战指南:从零构建智能应用的7大核心场景
  • 点云配准效率翻倍:深入浅出图解Fast Global Registration的‘四元约束’到底在干嘛
  • 2026年必知!本地全自动码垛机器人定制厂家电话曝光 - GrowthUME
  • 【TB6612是否可以驱动三线无刷电机】
  • 群面智伴,前端界面
  • 别再硬调PID了!用Python+PyBullet给机械臂动力学模型做个‘体检’,让控制参数自己‘跑’出来
  • 实时视频翻译系统架构优化与工程实践
  • 告别繁琐操作:ARK: Survival Evolved 玩家的终极启动器指南
  • 2026年必看!杭州这家大号倾角皮带输送机厂为何受推荐? - GrowthUME
  • 3,不同公司的市场表现特点
  • 从WeKnora项目解析企业级知识管理平台的核心架构与实现
  • 从Java Card到APDU:手把手拆解CCC数字钥匙NFC卡的软件通信流程
  • 别再傻傻用双层循环了!SAP ABAP里用SORT+LOOP FROM优化嵌套查询,性能提升百倍
  • 022、Agent与数据库交互:实现数据的查询与更新
  • 免费在线 JPG 转 WEBP 工具推荐:批量转换 + 浏览器本地处理 + 隐私安全
  • IDM激活脚本终极指南:如何永久免费使用下载神器
  • Phi-3.5-Mini-Instruct 配置优化指南:关键参数解析与推理性能调优
  • # 发散创新:用Python构建基于规则的音乐生成系统 在人工智能与创意产业融合日益紧密的今天,**音乐生成不
  • 第三十七天