【发布时间】:2015-11-26 00:43:11
【问题描述】:
我的客户给我发了Long,这可以被认为是
scala> System.currentTimeMillis
res3: Long = 1441056836609
scala>
如何将其转换为UTCtimeStamp?
在服务器上,我们使用Java 8
【问题讨论】:
我的客户给我发了Long,这可以被认为是
scala> System.currentTimeMillis
res3: Long = 1441056836609
scala>
如何将其转换为UTCtimeStamp?
在服务器上,我们使用Java 8
【问题讨论】:
您可以使用Instant 类方法。
import java.time.Instant;
import java.time.ZoneOffset;
Instant.ofEpochMilli(<yourmillis>).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
P.S.不要比较值,它们是复制的不同,格式是我想分享的
【讨论】: