0

我试图在 Joda DateTime 中转换毫秒。Millis 是1338501600000 我使用了在线转换器和其他库,所有结果都是1338501600000 millis 是Fri Jun 01 2012 00:00:00 GMT+0200 (CEST)

在 Joda 中,结果是:2012-05-31T22:00:00.000Z

为什么?


解决:

long millis = 1338501600000;
TimeZone tz = TimeZone.getTimeZone("GMT+2:00");
DateTimeZone dtz = DateTimeZone.getDefault();
dtz.setDefault(DateTimeZone.forTimeZone(tz));
DateTime rightDate = new DateTime(millis,dtz);
4

2 回答 2

2

这些是相同的日期。如果您从 GMT+0200 日期减去 2 小时,您将获得 Joda 结果,该结果采用 GMT 时区。

单个日期(即时)可以用不同的方式表示为字符串,并且表示取决于用于生成此表示的时区。

于 2012-05-04T10:17:41.440 回答
0

注意 Fri Jun 01 2012 00:00:00 GMT+0200 和 2012-05-31T22:00:00.000Z 是同一时刻,只有第一个显示在 GMT+0200 时区,第二个显示在UTC(这是 Z 表示的)。

于 2012-05-04T10:18:51.383 回答