2011-08-11 195 views
4

我的系统时间不同于java的新Date()告诉(+4小时),
所以我认为这是因为一些java设置。
我该如何让Java时间始终与我的Linux系统时间一样?
(编辑一些配置文件)如何设置java时区?

+0

如果你打印'TimeZone.getDefault()'这是什么显示你? –

+1

http://minaret.biz/tips/timezone.html这是否有帮助? – Sean

+0

可能重复的[如何正确设置JVM时区](http://stackoverflow.com/questions/2493749/how-to-set-a-jvm-timezone-properly) – Nishant

回答

2
Calendar calendar = Calendar.getInstance(TimeZone.getDefault()); 
Date myDate = calendar.getTime(); 
System.out.println(myDate); 

这是代码打印正确的日期/时间?否则,还有其他一些问题。

16

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

0

使用System.getCurrentTimeInMillis();

然后拿一个日历实例,并设置你的时间..

3

如果要更改时区编程,那么你可以使用:

TimeZone.setDefault(TimeZone.getTimeZone("UTC")) 

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

2

此代码帮助了我。

TimeZone tzone = TimeZone.getTimeZone("Singapore"); 
// set time zone to default 
tzone.setDefault(tzone);