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。
答案 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。