[英]How to convert Instant to joda DateTime?
如何将 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中吸取的教训,在JSR 310中设计了 java.time 。
但要直接回答您的问题: 从Instant
object 中提取自 1970 年第一时刻以来的毫秒数( UTC)。 使用该计数构造DateTime
object。
当心潜在的数据丢失。 Instant
可能包含微秒或纳秒。 当然,在提取毫秒时,这些将被忽略。
java.time.Instant myInstant = Instant.now() ;
long millis = myInstant.toEpochMilli() ;
org.joda.time.DateTime dt = new DateTime( millis ) ;
在java.time中, Instant
始终采用 UTC。 要在您的DateTime
上匹配它,请将UTC
常量传递给此其他构造函数。
DateTime dt = new DateTime( millis , DateTimeZone.UTC ) ;
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.