【发布时间】:2013-10-07 22:50:41
【问题描述】:
当我通过java -Duser.timezone="UTC"启动java程序时,
System.out.println( System.getProperty( "user.timezone" ) );
System.out.println( new Date() ); // prints time in UTC
打印 UTC 时间,但是当我设置如下代码时:
System.setProperty( "user.timezone", "UTC" );
System.out.println( System.getProperty( "user.timezone" ) ); // prints 'UTC'
System.out.println( new Date() ); // prints time in local zone, not in UTC
不以 UTC 打印时间。我需要在代码中设置时间。不找乔达
环境:JDK 1.6 / Windows XP
请帮忙。非常感谢!
【问题讨论】:
-
这是你的整个
main()代码? -
与其摆弄 VM 实例设置,不如使用
TimeZone方法更编程?TimeZone.setDefault(TimeZone.getTimeZone("UTC")) -
它们都为我工作(在 JDK 7 中)。
-
@SotiriosDelimanolis : 在设置属性之前尝试调用
System.out.println( new Date() );。 -
@leonbloy 这打破了它。
标签: java datetime properties timezone system