可能重複:
Converting ISO8601-compliant String to java.util.Date將字符串轉換爲日期,幾乎完成!
我想這個字符串轉換:
2011-06-07T14:08:59.697-07:00
到Java日期,到目前爲止,這是我做的:
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss.S");
Date date1 = sdf.parse("2011-06-07T14:08:59.697", new java.text.ParsePosition(0));
幾乎一切都很好,除了最重要的部分,時區 !! SimpleDateFormat的問題在於它預計在+/-hhmm
中的TimeZone和我的格式爲+/-hh:mm
。
而且,我不知道爲什麼,這個工程:
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss.S Z");
Date date1 = sdf.parse("2011-06-07T14:08:59.697 -0700", new java.text.ParsePosition(0));
但這並不(時區前的空格):
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss.SZ");
Date date1 = sdf.parse("2011-06-07T14:08:59.697-0700", new java.text.ParsePosition(0));
什麼是轉換格式正確這個日期2011-06-07T14:08:59.697-07:00
到java日期?
感謝您的幫助!
http://stackoverflow.com/questions/909022/whats-the-best-way-to-parse-an-xml-datetime-in-java/5732733#5732733 – 2011-06-08 13:47:52
(我會說這是一個確切的重複,另一個問題也必須在ISO8601時區處理冒號問題) – 2011-06-08 13:50:39
Oups,對不起。我應該關閉它還是標記它? – 2011-06-08 13:52:11