【发布时间】:2019-08-23 06:35:25
【问题描述】:
我需要知道,在java(我的版本jdk 8)中,我可以替换new DateTime(System.currentTimeMillis())这种代码形式,'DateTime.now()'?
我使用了包import org.joda.time.DateTime;
如何在 java 8(日期和时间)中写同样的东西?
【问题讨论】:
-
不要将 joda 库与 jdk8 一起使用。 jdk8 中的 java.time 包和 joda 非常相似,所以两者都没有意义。
-
@DawoodibnKareem 如何在 java 8 中写同样的东西?
-
joda 的 DateTime 类的 java.time 等效项称为 ZonedDateTime。你想写
ZonedDateTime.now()。但我认为您应该阅读LocalDateTime、Instant、ZonedDateTime和OffsetDateTime之间的区别,因为所有四个类之间都有相似之处,您需要根据您的特定需求选择正确的一个。 -
您还可以将时钟传递给 now 方法的重载。测试可以提供时钟的存根实现,因此您的测试可以指定时间。
标签: java date datetime jodatime java-time