【发布时间】:2011-05-31 11:01:47
【问题描述】:
当我尝试创建两个日期时,我刚刚遇到了 Java 的 Date 类的一个非常奇怪的行为:
Date startDate = new Date(1282863600000L);
System.out.println(startDate);
Date endDate = new Date(1321919999000L);
System.out.println(endDate);
输出分别为:
2010 年 8 月 27 日星期五 00:00:00 BST 2011 年 11 月 21 日星期一 23:59:59 GMT有人见过这样的吗?两个日期都以相同的方式初始化,但是打印时第一个显示在 BST 中,而后者在 GMT 中显示?
我试图找到对此的解释,但我没有。有人可以帮我吗?
提前致谢!
【问题讨论】:
-
您还记得由于夏令时而将时钟向前/向后缠绕一个小时吗? ;)