如何将Instant(java.time.Instant)转换为joda DateTime (org.joda.time.DateTime)? 或者说,最好的方法是什么?
new DateTime( myInstant.toEpochMilli() )
你是否知道java.time是Joda-Time的后继者?如果你可以使用java.time,就没有必要再使用Joda-Time了。同一个人 Stephen Colebourne 领导了这两个项目,从Joda-Time中吸取经验教训,设计出了java.time(JSR 310)。
Instant
对象中提取毫秒数。使用该计数来构建一个DateTime
对象。Instant
可能包含微秒或纳秒。当提取毫秒时,这些将被忽略。java.time.Instant myInstant = Instant.now() ;
long millis = myInstant.toEpochMilli() ;
org.joda.time.DateTime dt = new DateTime( millis ) ;
Instant
总是处于UTC时间。要匹配您的DateTime
,请将UTC
常量传递给另一个构造函数。DateTime dt = new DateTime( millis , DateTimeZone.UTC ) ;
Instant
,需要将DateTime
传递给一个依赖项。我猜这应该可以工作new DateTime(myInstantVar.toEpochMilli())
。 - Saif