Sim*_*son 5 java windows timezone utc
我们在一些涉及"协调世界时"时区的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());
}
}
Run Code Online (Sandbox Code Playgroud)
在JDK 1.6.0_06上打印:
sun.util.calendar.ZoneInfo[id="America/Caracas",offset=-16200000,dstSavings=0,useDaylight=false,transitions=5,lastRule=null] Fri Nov 13 05:34:14 VET 2009
(即比格林威治标准时间晚4个半小时).我应该补充一点,我的总部设在伦敦,从未去过南美洲.:-)
我的问题是:
它使用默认时区打印它。您的主题谈到“选择”UTC,但我在您的程序中没有看到任何此类选择。如果您在其他地方选择了它,请详细说明具体位置。如果您更改了 XP 时区,您可能需要尝试重新启动 - 您的 Java 代码可能从某处获取缓存值。
打印出来java.util.TimeZone.getDefault
,我怀疑您会在有问题的机器上看到 VET。
如果您希望代码使用 UTC,则应明确指定...最好使用Joda Time而不是内置Date
/Calendar
类。
编辑:如果您在同一台机器上有.NET 3.5,请尝试这个小程序来看看它认为时区是什么:
using System;
class Test
{
static void Main()
{
Console.WriteLine(TimeZoneInfo.Local.DisplayName);
}
}
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
2498 次 |
最近记录: |