2011-08-11 158 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);