2012-10-31 111 views
0

例如,2012-10-30T22:30:00 + 0300需要在2012-10-30T22中顯示:30:00-0600(本地時間例如) 需要在Java實現(機器人應用) 我該如何管理呢?顯示ISO-8601日期+時間,當前時間?

+2

你能詳細說明一下嗎?我不明白你想達到什麼。 22:30:00 + 0300與22:30:00-0600不同。 –

+0

正好,我給你舉個例子 - 在情況下,我在德國有一個事件的時間,但目前我在倫敦,我需要顯示在倫敦的時候德國的事件時間。 – Ranco

回答

0

使用喬達時庫解決我的問題最佳使用日期時間&日期時間區類似以下內容:

DateTimeFormatter parser2 = ISODateTimeFormat.dateTimeNoMillis(); 
    DateTime dt = new DateTime(); 
    DateTime dt2 = new DateTime(); 
    dt = DateTime.parse("2012-11-05T13:00:00+0200"); 
    System.out.println(dt.toString()); 

    dt2 = DateTime.parse("2012-11-05T21:45:00-08:00"); 
    DateTimeZone dtz = dt2.getZone(); 
    System.out.println(dt.withZone(dtz).toString()); 
1

這是一個日期是什麼:在時間上的通用瞬間。顯示它時,選擇適當的時區,你就會有你想要的時間字符串:

Date now = new Date(); 
DateFormat df = df.getDateTimeInstance(); 
System.out.println(df.format(now)); // now, displayed in the current time zone (examle: Germany) 
df.setTimeZone(theLondonTimeZone); 
System.out.println(df.format(now)); // now, displayed in the time zone of London 
+0

我知道我可以實現,使用日期日期格式,有沒有辦法把它更一般地寫下來,這樣我就不必檢查所有時區? – Ranco

+0

對不起,我誤解你的答案:爲了應對未知的時區我把遙控器時,得到了從它的時區,則與當前使用它。 – Ranco