我试图运行一个Java程序,但它采取默认GMT时区而不是操作系统定义的时区。我的JDK版本是1.5,操作系统是Windows Server Enterprise(2007)
Windows具有指定的中央时区,但当我运行以下程序,它给我一个GMT时间。
import java.util.Calendar;
public class DateTest
{
public static void main(String[] args)
{
Calendar now = Calendar.getInstance();
System.out.println(now.getTimeZone());
System.out.println(now.getTime());
}
}
这里是输出
sun.util.calendar.ZoneInfo[id="GMT",
offset=0,
dstSavings=0,
useDaylight=false,
transitions=0,
lastRule=null]
Mon Mar 22 13:46:45 GMT 2010
请注意,我不想设置应用程序的时区。我希望JVM使用的时区应该是操作系统中指定的时区。 (我没有发现这个问题与其他服务器版本1.4的JDK和Microsoft Server 2003)。
任何想法将高度赞赏。