我使用 new Date(long)
将长值转换为日期对于我的本地机器给出的相同值
Long Value:- 1481394600000
Date:- 2016-12-11 (Actual value)
Date:- 2016-12-10 (I get this)
但是,我在本地设置中获得了正确的值。但远程机器给的时间少了一天。两台机器均处于 UTC 时区。
最佳答案
在我的本地计算机上运行:
import java.time.LocalDateTime;
import java.time.Month;
import java.time.ZoneOffset;
import java.time.ZonedDateTime;
public class Test {
public static void main(String[] args) {
LocalDateTime dateTime = LocalDateTime.of(2016, Month.DECEMBER, 11, 12, 30);
ZonedDateTime zdt = dateTime.atZone(ZoneOffset.UTC);
String dataInUTC = zdt.toString();
System.out.println(dataInUTC);
}
}
结果:
2016-12-11T12:30Z
也许您应该使用 LocalDateTime 和 ZoneDateTime
关于java - 将 Long 转换为 Date 可以减少一天,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40003261/