企业🤖AI Agent构建引擎,智能编排和调试,一键部署,支持私有化部署方案 广告
[TOC] # 简介 JDK 1.0中包含了一个java.util.Date类,但是它的大多数方法已经在JDK 1.1引入Calendar类之后被弃用了。而Calendar并不比Date好多少。它们面临的问题是: **可变性:像日期和时间这样的类应该是不可变的。** **偏移性:Date中的年份是从1900开始的,而月份都从0开始。** **格式化:格式化只对Date有用,Calendar则不行。** **此外,它们也不是线程安全的;不能处理闰秒等 ** # Joda-Time Java 8 吸收了 Joda-Time 的精华,以一个新的开始为 Java 创建优秀的 API。 新的 java.time 中包含了所有关于本地日期(LocalDate)、本地时间(LocalTime)、本地日期时间(LocalDateTime)、时区(ZonedDateTime)和持续时间(Duration)的类。 历史悠久的 Date 类新增了 toInstant() 方法,用于把 Date 转换成新的表示形式。 Joda-Time提供了一组Java类包用于处理包括ISO8601标准在内的date和time。可以利用它把JDK Date和Calendar类完全替换掉,而且仍然能够提供很好的集成。目前Joda Time 已经纳入 JDK 8 的官方API了。 官方地址:http://www.joda.org/joda-time/ Maven 仓库: ~~~ <dependency>     <groupId>joda-time</groupId>     <artifactId>joda-time</artifactId>     <version>2.3</version> </dependency> ~~~ # API * java.time – 包含值对象的基础包 * java.time.chrono – 提供对不同的日历系统的访问 * java.time.format – 格式化和解析时间和日期 * java.time.temporal – 包括底层框架和扩展特性 * java.time.zone – 包含时区支持的类 LocalDate、LocalTime、LocalDateTime 类是其中较重要的几个类,它们的实例是不可变的对象,分别表示使用 ISO-8601日历系统的日期、时间、日期和时间。它们提供了简单的本地日期或时间,并不包含当前的时间信息,也不包含与时区相关的信息。 注:ISO-8601日历系统是国际标准化组织制定的现代公民的日期和时间的表示法,也就是公历