2017-07-10 87 views
0

正確的日期格式我在尋找: - 「2017-07-06T18:03:39.195 + 0530」如何獲得時區在Java中的當前日期偏移

如何獲得0530爲當前日期java?

當我使用SimpleDateFormat它給+0000,而它應該給+0530。

========================================== =======
我已經使用以下嘗試: -

SimpleDateFormat format = new SimpleDateFormat("enter code hereyyy-MM-dd HH:mm:ss.SSS Z"); 
String dateString = format.format(new Date()); 
System.out.println("value of dateString is :"+dateString); 

上述代碼將輸出: - dateString的值是:2017年7月10日06:51:27.250 0000

雖然它應該輸出:+0530

你能請嗎告訴我如何獲得上述日期或當前日期的+0530偏移量?

+0

你有你的格式化一些垃圾。 – shmosel

+0

Date類是過期的。改用java.time代替。 – shmosel

+0

請參閱['SimpleDateFormat.setTimeZone()'](https://docs.oracle.com/javase/8/docs/api/java/text/DateFormat.html#setTimeZone-java.util.TimeZone-)。 – shmosel

回答

0

設置你需要的時區。您的代碼將looke像:

SimpleDateFormat format = new SimpleDateFormat("yyy-MM-dd HH:mm:ss.SSS Z"); 
format.setTimeZone(TimeZone.getTimeZone("IST")); 
String dateString = format.format(new Date()); 
System.out.println("value of dateString is :"+dateString); 
+0

但我不想設置時區,它應該自動得到它.. – Ashish168

+0

因爲我不能確定我的代碼是從印度還是我們執行 – Ashish168

+0

此外有不同的客戶端和不同的服務器遍佈世界各地,我將如何能夠分辨出是否是IST或其他 – Ashish168

1

後,很多搜索我發現,時區的問題可以用約達時間的API來解決的,您可以使用下面的代碼來實現我想在我的問題 -

日期時間日期時間= DateTime.now(); System.out.println(dateTime.toString(「yyyy-MM-dd'T'HH:mm:ss.SSSZ」));

輸出(當前日期與適當的時區) - 2017-07-10T15:01:48.319 + 0530

相關問題