如何设置java时区?

tsd*_*sds 5 java linux time timezone

我的系统时间与java的新Date()告诉(+ 4小时)不同,
所以我认为这是因为一些java设置.
如何让java时间始终作为我的linux系统时间?
(通过编辑一些配置文件)

Boz*_*zho 16

您可以TimeZone.setDefault(..)在应用程序启动时使用,或者将时区作为命令行参数传递:-Duser.timezone=GMT


Nic*_*ong 5

如果要以编程方式更改时区,则可以使用:

TimeZone.setDefault(TimeZone.getTimeZone("UTC"))
Run Code Online (Sandbox Code Playgroud)

我更喜欢这种方法,因为它不依赖于人们记得使用正确的时区参数运行我的代码。


asg*_*sgs 2

Calendar calendar = Calendar.getInstance(TimeZone.getDefault());
Date myDate = calendar.getTime();
System.out.println(myDate);
Run Code Online (Sandbox Code Playgroud)

此代码打印的日期/时间正确吗?否则,还有其他问题。