java.util.Date
类基于自 1970 年 1 月 1 日 00:00 GMT 以来的秒数。那么为什么这段代码
System.out.println(new Date(0));
打印 1970 年 1 月 1 日星期四 01:00:00 GMT
?我的本地时区是 GMT,所以我希望它打印 00:00:00 GMT。
最佳答案
这有一个有趣的原因。请参阅(BST Offset 错误报告) . 它说,“以及从 1968 年到 1972 年使用英国标准时间进行的实验,在这一年中时间比格林威治标准时间提前了一个小时。”进一步说:“Date.toString() 生成的本地时间在历史上是正确的,除了时区缩写。它应该是“BST”(本例中的英国标准时间),但这是当前 TimeZone 实现的已知限制。”
关于Java日期开始纪元,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48945611/