我试图将毫秒转换为带有UTC时区的时间戳,但它并没有按照预期工作,因为它转换为了我的本地时间。
我尝试过以下方法。在调试代码时,我发现当执行以下代码时:new DateTime(eventDate)
它正常工作,因为它的值是10:34:18.721
,但稍后的new Timestamp()
会将其更改为本地时间。
long eventDate = 1566297258721L;
DateTimeZone.setDefault(DateTimeZone.UTC);
Timestamp timestamp = new Timestamp(new DateTime(eventDate).getMillis());
我希望输出为:2019-08-20 10:34:18.721,但实际输出是:2019-08-20 12:34:18.721。
Timestamp
没有时区,但该类设计得很差且已过时。 - Ole V.V.