2016-02-25 115 views
-1

我的問題是,我想將當地時間轉換爲GMT。我能轉換的實際時間,並將其保存到解析,但問題是,解析應用自己:不能將時間轉換爲格林威治標準時間

週三2月24日10:00:00 GMT + 05:30 2016

這是我轉換爲GMT00:00後得到的日期,但問題是GMT+05:30實際上是錯誤的,因爲我的日期實際上是GMT。現在,當我把這個日期放在服務器中時,它會進一步減少5:30的時間。那麼我們如何才能將GMT+05:30更改爲GMT+00:00

+2

你的代碼在哪裏? – f1sh

+0

請顯示你的代碼,看看你到目前爲止 – NiallMitch14

+0

我認爲這是這個線程在這裏的重複:http://stackoverflow.com/questions/2055407/conversion-of-local-time-zone-to-gmt -in-java –

回答

1

我們將從當前的當地時間開始。

Calendar cal = Calendar.getInstance(); // automatically produces and instance of the current date/time 

據我瞭解,當地日期精確到GMT但你時間是5:30提前實際GMT

爲了從當地時間減去5:30,您可以執行以下操作。

cal.add(Calendar.HOUR, -5); 
cal.add(Calendar.MINUTE, -30); 

System.out.println(cal.getTime()); 

相反,如果你想添加時間字段,你可以簡單地使用:

cal.add(Calendar.HOUR, 5); // note I have removed the minus(-) symbol 
cal.add(Calendar.MINUTE, 30); // note I have removed the minus(-) symbol 

System.out.println(cal.getTime()); 
1

如果您使用的是Java 8.你可以從新時庫使用。 當你告訴它似乎你想要什麼,是在UTC郵票是GMT + 00

更多時間庫here

這條線:

System.out.println(Instant.now().toString()); 

2016-02-25T17:54:55.420Z

希望它讓事情對你更清楚。

+0

不需要抵消。 ['Instant'](https://docs.oracle.com/javase/8/docs/api/java/time/Instant.html)按照UTC定義。 'Instant.now()。的toString()' –

相關問題