2014-07-26 378 views
0

我有SimpleDateFormat。SimpleDateFormat返回1小時爲什麼?

Date vrcTime; 
SimpleDateFormat vrcCurrentTimeTextValue; 
vrcTime.setTime (0); 
vrcTimeFormat = new SimpleDateFormat ("HH:mm:ss"); 
vrcCurrentTimeTextValue = vrcTimeFormat.format (vrcTime); 

爲什麼我的SimpleDateFormat返回1小時,即使時間爲0?

+0

在哪個時區? – Henry

+0

使用vrcTimeFormat.setTimeZone(TimeZone.getTimeZone( 「GMT」)); vrcCurrentTimeTextValue = vrcTimeFormat.format(vrcTime); –

+0

歐洲中部時間(UTC +01:00) –

回答

1

你生活在一個GMT + 1時區,除非您指定一個不同的,格式化程序會選擇你目前的一個,所以它認爲0小時爲格林尼治標準時間和你在GMT + 1,它輸出1小時。 所以加

vrcTimeFormat.setTimeZone(TimeZone.getTimeZone("GMT")); 

即重寫代碼爲

Date vrcTime; 
SimpleDateFormat vrcCurrentTimeTextValue; 
vrcTime.setTime (0); 
vrcTimeFormat = new SimpleDateFormat ("HH:mm:ss"); 
vrcTimeFormat.setTimeZone(TimeZone.getTimeZone("GMT")); 
vrcCurrentTimeTextValue = vrcTimeFormat.format (vrcTime); 
+0

非常感謝! –

+0

@ArturSiwek樂於助人,不要忘記接受。 –