Java Date开始时代

时间:2018-02-23 10:20:59

标签: java java.util.date

java.util.Date等级基于1970年1月1日00:00 GMT以来的秒数。那么为什么这个代码

System.out.println(new Date(0));

打印Thu Jan 01 01:00:00 GMT 1970?我当地的时区是格林尼治标准时间,所以我希望它打印格林威治标准时间00:00:00。

3 个答案:

答案 0 :(得分:5)

有一个有趣的原因。参考(BST Offset错误报告) 。 它说,"以及从1968年到1972年的英国标准时间的实验,从格林威治标准时间全年提前一小时。"并且:“除了时区缩写之外,Date.toString()生成的本地时间在历史上是正确的。它应该是" BST" (本案例的英国标准时间),但它是当前TimeZone实现的已知限制。“

答案 1 :(得分:1)

This链接可能有所帮助。我是Date班的新手,但我认为这可能会有所帮助。

答案 2 :(得分:-1)

Unix Epoch Time是一个描述1970年1月1日以来已经过了多长时间的时间系统。

因此,当您创建一个新的java.util.Date对象时,经过0毫秒,它将返回1970年1月1日。

您要找的是here