如何保持日期(0L)在不同的计算机之间返回相同的结果

eas*_*der 2 java date

我发现不同的计算机返回的结果与Java中的以下语句不同.

private static final Date ORIGIN = new Date(0L);

在我的计算机中,它返回以下结果.

12月31日星期三16:00:00太平洋标准时间1969年

但这与它应该的不同.我认为它应该返回以下结果

太平洋时间1月1日16:00:00太平洋标准时间1970

如何确保不同计算机之间的日期相同?什么是最佳做法?谢谢.

Mic*_*rdt 8

Date实际上是完全一样的.不同之处仅在于它的toString()方法是如何格式化的- 这取决于Locale计算机的默认和时区(而时区数据又取决于Java版本).

要获得一致的输出,请使用SimpleDateFormat具有固定模式和固定时区的(在极少数情况下,由于更改的时区数据,它仍然可能不同).