2013-01-19 53 views
1

我試圖將日期對象(CST區域)轉換爲GMT字符串,然後返回到日期對象(CST)。

我用下面的代碼&它正在工作,但不知道它是如何將GMT字符串轉換爲格林尼治標準時間格式的CST日期。
我的問題是,如何在不使用格式化程序和CST格式化程序的情況下獲得CST時間?將GMT日期字符串轉換爲本地日期對象

Date inputdate = new Date();// My local time CST 

System.out.println(inptdate); 

SimpleDateFormat sdfgmt = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss.000'Z'"); 
sdfgmt.setTimeZone(TimeZone.getTimeZone("GMT")); 

String gmtString = sdfgmt.format(inputdate); 

System.out.println(gmtString); 

Date outputDate = sdfgmt.parse(gmtString); 

System.out.println(outputDate); 

輸出

Fri Jan 18 22:52:47 CST 2013 
    2013-01-19T04:52:47.000Z 
    Fri Jan 18 22:52:47 CST 2013 

回答

1

一個java日期沒有一個時區的概念。 java日期只是存儲的一長串。通過將您正在轉換的日期打印到計算機的時區。如果您有興趣存儲時區,請嘗試Joda的DateTime類。

+0

哇...你做了我的一天Thanx Zylth,喬達時間令人印象深刻的使用DateTimeZone類時區變化。再次感謝Thanx。 –

相關問題