Javatpoint标志
Javatpoint标志

Java日期和时间

java。时间,java。跑龙套,java。SQL和java。文本包包含表示日期和时间的类。下面的类对于在Java中处理日期很重要。

Java 8日期/时间API

Java从Java 8开始引入了一个新的日期和时间API。java。时间包包含Java 8日期和时间类。

经典的日期/时间API

但是经典的或旧的Java Date API也很有用。让我们看看经典Date和Time类的列表。

日期和时间

在Java中,我们可以使用以下类格式化日期和时间:

Java日期和时间api

Java在两个包的帮助下提供了日期和时间功能。Time和java.util。包java。time是在Java 8中引入的,新引入的类试图克服遗留的Java .util. date和Java .util. calendar类的缺点。

经典日期时间API类

Java 8发布之前的主要类是:

有:该类提供了currentTimeMillis()方法,该方法返回以毫秒为单位的当前时间。它显示了从1970年1月1日开始的当前日期和时间,单位为毫秒。

java.util.Date:用于表示特定的时间瞬间,单位为毫秒。

java.util.Calendar:它是一个抽象类,提供了在实例之间转换和以不同方式操作日历字段的方法。

java.text.SimpleDateFormat:它是一个类,用于以预定义的方式或用户定义的模式格式化和解析日期。

java.util.TimeZone:它表示时区偏移,还表示夏令时。

现有日期/时间API的缺点

  1. 线程安全:现有的类如Date和Calendar不提供线程安全性。因此,它会导致难以调试的并发问题,需要开发人员注意。Java 8新的日期和时间api提供了线程安全性,并且是不可变的,因此避免了开发人员的并发问题。
  2. 糟糕的API设计:经典的Date和Calendar api没有提供执行基本日常功能的方法。Java 8中引入的Date和Time类是以iso为中心的,并提供了许多不同的方法来执行有关日期、时间、持续时间和周期的操作。
  3. 时区处理困难:使用经典的Date和Calendar类处理时区是很困难的,因为开发人员应该为它编写逻辑。使用新的api,可以轻松地使用Local和zone date /Time api完成时区处理。

Java 8中的新日期时间API

新的日期API有助于克服上面提到的遗留类的缺点。它包括以下类:

java.time.LocalDate:它表示ISO日历中的年-月-日,对于表示没有时间的日期非常有用。它只能用于表示日期信息,如出生日期或结婚日期。

java.time.LocalTime:它只涉及时间。它对于表示一天中基于人的时间非常有用,比如电影时间,或者本地图书馆的开放和关闭时间。

java.time.LocalDateTime:它同时处理日期和时间,没有时区。它是LocalDate和LocalTime的组合。

java.time.ZonedDateTime:它结合了LocalDateTime类和ZoneId类中给出的区域信息。它表示一个完整的日期时间戳以及时区信息。

java.time.OffsetTime:它处理与格林威治/UTC对应的时区偏移量的时间,没有时区ID。

java.time.OffsetDateTime:它处理的日期和时间与格林威治/UTC对应的时区偏移量,没有时区ID。

java.time.Clock:它提供对任何给定时区中的当前时刻、日期和时间的访问。虽然Clock类的使用是可选的,但这个特性允许我们测试其他时区的代码,或者使用固定的时钟,其中时间不会改变。

java.time.Instant:它表示时间轴上一个纳秒的开始(从EPOCH开始),对于生成表示机器时间的时间戳非常有用。发生在纪元之前的瞬间为负值,发生在纪元之后的瞬间为正值。

java.time.Duration:两个瞬间之间的差异,以秒或纳秒来测量,并且不使用年、月和日等基于日期的结构,尽管该类提供了转换为天、小时和分钟的方法。

java.time.Period:它用于在基于日期的值(年、月、日)中定义日期之间的差异。

java.time.ZoneId:它声明了一个时区标识符,并提供了在Instant和LocalDateTime之间转换的规则。

java.time.ZoneOffset:它描述了与格林尼治/UTC时间的时区偏移。

java.time.format.DateTimeFormatter:它提供了各种预定义的格式化程序,或者我们可以定义自己的格式化程序。它有parse()或format()方法来解析和格式化日期时间值。


下一个话题 Java LocalDate类





Youtube 观看视频请加入我们的Youtube频道:现在加入

反馈


帮助他人,请分享

脸谱网 推特 pinterest

学习最新教程


准备


热门的技术


B.Tech / MCA






Baidu
map