我试图在Joda DateTime中转换毫秒数。 Millis 1338501600000 我使用在线转换器和其他库,结果是 1338501600000 毫秒是 2012年6月1日星期五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);
答案 0 :(得分:2)
这些日期相同。如果从GMT + 0200日期减去2小时,则会获得Joda结果,该结果位于GMT时区。
单个日期(即时)可以用不同的方式表示为String,表示取决于用于生成此表示的时区。
答案 1 :(得分:0)
请注意,Fri Jun 01 2012 00:00:00 GMT + 0200和2012-05-31T22:00:00.000Z是同一时刻,只有第一个显示在时区GMT + 0200和UTC中的第二个(这是Z表示的)。