如何将long(currentTimeInMillis)转换为UTC时间戳?

我的客户送我Long ,这可以被认为是

 scala> System.currentTimeMillis res3: Long = 1441056836609 scala> 

如何将其转换为UTC timeStamp?

在Server上,我们使用的是Java 8

您可以使用Instant类方法。

 import java.time.Instant; import java.time.ZoneOffset; Instant.ofEpochMilli().atOffset(ZoneOffset.UTC).toString(); 

您的示例日期为"2015-08-31T21:33:56.609Z"

 Date dateFromTime = new Date(timeInMillis); 

这将获得一个Date对象,然后您可以使用适当的UTC格式吐出

 DateFormat dateFormatter = SimpleDateFormat(/*UTC Format String*/, Locale./*Your Locale here*/); System.out.printf("%s\n", dateFormatter.format(dateFromTime)); 

由于你使用的是scala,我建议你使用scala方式, nscala-time是一个非常好的库

 scala> import com.github.nscala_time.time.Imports._ import com.github.nscala_time.time.Imports._ scala> DateTimeZone.setDefault(DateTimeZone.UTC) scala> new DateTime(1441056836609L) res1: org.joda.time.DateTime = 2015-08-31T21:33:56.609Z 

这就是我在做的事情

我正在使用Joda-Time并且正在做

 DateTimeZone.setDefault(DateTimeZone.UTC); DateTime.now.toString 

client我看到它

 Wed, 02 Sep 2015 20:57:34 GMT 

server我看到它

 2015-09-02T20:24:43.594Z 

PS不要比较值,它们被不同地复制,格式是我想要分享的