我的問題是,我想將當地時間轉換爲GMT
。我能轉換的實際時間,並將其保存到解析,但問題是,解析應用自己:不能將時間轉換爲格林威治標準時間
週三2月24日10:00:00 GMT + 05:30 2016
這是我轉換爲GMT00:00
後得到的日期,但問題是GMT+05:30
實際上是錯誤的,因爲我的日期實際上是GMT
。現在,當我把這個日期放在服務器中時,它會進一步減少5:30的時間。那麼我們如何才能將GMT+05:30
更改爲GMT+00:00
我的問題是,我想將當地時間轉換爲GMT
。我能轉換的實際時間,並將其保存到解析,但問題是,解析應用自己:不能將時間轉換爲格林威治標準時間
週三2月24日10:00:00 GMT + 05:30 2016
這是我轉換爲GMT00:00
後得到的日期,但問題是GMT+05:30
實際上是錯誤的,因爲我的日期實際上是GMT
。現在,當我把這個日期放在服務器中時,它會進一步減少5:30的時間。那麼我們如何才能將GMT+05:30
更改爲GMT+00:00
我們將從當前的當地時間開始。
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());
如果您使用的是Java 8.你可以從新時庫使用。 當你告訴它似乎你想要什麼,是在UTC郵票是GMT + 00
更多時間庫here
這條線:
System.out.println(Instant.now().toString());
給
2016-02-25T17:54:55.420Z
希望它讓事情對你更清楚。
不需要抵消。 ['Instant'](https://docs.oracle.com/javase/8/docs/api/java/time/Instant.html)按照UTC定義。 'Instant.now()。的toString()' –
你的代碼在哪裏? – f1sh
請顯示你的代碼,看看你到目前爲止 – NiallMitch14
我認爲這是這個線程在這裏的重複:http://stackoverflow.com/questions/2055407/conversion-of-local-time-zone-to-gmt -in-java –