我们在一些涉及“协调世界时”时区的 Windows XP 机器上看到了一个奇怪的问题。并非所有的 Windows XP 机器似乎都有它,但在那些有的机器上,下面的简单 Java 程序
public class TimeTest {
public static void main(String[] args) {
System.out.println(java.util.TimeZone.getDefault());
System.out.println(new java.util.Date());
}
}
在 JDK 1.6.0_06 上打印:
sun.util.calendar.ZoneInfo[id="America/Caracas",offset=-16200000,dstSavings=0,useDaylight=false,transitions=5,lastRule=null] 2009 年 11 月 13 日星期五 05:34:14 VET
(即比格林威治标准时间晚 4 个半小时)。我应该补充一点,我在伦敦,从未去过南美。:-)
我的问题是:
- Java 从哪里得到这个时区?我认为协调世界时应该是格林威治标准时间的新名称。
- 为什么有些 Windows 机器有这个时区而其他机器没有?