回答
我能正確解析這樣的方式:
new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss'Z'").parse(paymentDate);
感謝@vikdor!
FYI,麻煩的舊日期時間諸如['java.util.Date'](https://docs.oracle.com/javase/8/docs/api/java/util/Date.html),['java.util.Calendar']( https://docs.oracle.com/javase/8/docs/api/java/util/Date.html)和'java.text.SimpleTextFormat'現在是[legacy](https://en.wikipedia.org/wiki/Legacy_system),由[java.time](https://docs.oracle.com/javase/8/docs/api/java/time/package-summary.html)類代替。 –
TL;博士
Instant.parse("2012-11-16T02:02:05Z")
ISO 8601
你輸入的字符串是標準ISO 8601格式。該標準爲表示日期 - 時間值定義了許多有用的,實用的,明確的文本格式。
的ISO 8601名的格式通常由現代的協議,如XML模式,SOAP等,排擠掉笨拙過時的格式,如RFC 1123/RFC 822採用
從ISO 8601您的特定格式使用:
T
將年 - 月 - 日部分與小時 - 分鐘部分分開。Z
,簡稱Zulu
,表示UTC時間(offset-from-UTC的+00:00
)。
使用java.time
使用現代化的班在java.time包。解析/生成字符串時默認使用ISO 8601格式。
Instant
類表示UTC中的時間軸上的一個時刻,分辨率爲nanoseconds(最多九(9)位小數)。
Instant instant = Instant.parse("2012-11-16T02:02:05Z") ;
捕捉當前時刻UTC。
Instant instant = Instant.now() ;
只需調用toString
即可生成標準格式的字符串。
String output = instant.toString() ;
2017-07-26T01:23:45.704781401Z
關於java.time
的java.time框架是建立在Java 8和更高版本。這些類取代了日期時間類legacy,如java.util.Date
,Calendar
,& SimpleDateFormat
。
Joda-Time項目現在位於maintenance mode,建議遷移到java.time類。請參閱Oracle Tutorial。並搜索堆棧溢出了很多例子和解釋。規格是JSR 310。
從何處獲取java.time類?
- Java SE 8和SE 9後來
- 內置。
- 帶捆綁實現的標準Java API的一部分。
- Java 9增加了一些次要功能和修復。在ThreeTen-Backport
- Java SE 6和SE 7
- 大部分的java.time功能後移植到Java 6 & 7。
- Android
- 的ThreeTenABP項目適應ThreeTen-反向移植(上述)爲Android特異性。
- 參見How to use ThreeTenABP…。
的ThreeTen-Extra項目與其他類擴展java.time。這個項目是未來可能增加java.time的一個試驗場。您可以在這裏找到一些有用的類,如Interval
,YearWeek
,YearQuarter
和more。
- 1. 解析日期到時間戳
- 2. 解析日期時間到JAVA日期
- 3. 解析YYYY-WW到時間戳日期時間在大熊貓
- 4. 解析YAML !!時間戳(日期時間)YAML-CPP
- 5. 解析日期時間從美國時區到日期時間。
- 6. 到Java日期的SQL時間戳?
- 7. MySQL時間戳到Java日期轉換
- 8. 在java中解析HTTP 1.0標頭日期/時間戳
- 9. 從日期時間到時間戳python
- 10. Unix時間戳到.net日期時間
- 11. 時間戳到長日期時間
- 12. 日期到Unix時間戳
- 13. 日期到時間戳nanos
- 14. 解析C#日期時間到javascript日期時間
- 15. Java解析XML日期 - 排除時間
- 16. 在java中解析日期和時間
- 17. 日期時間戳
- 18. 如何解析YouTube返回日期到時間戳?
- 19. 日期時間錯誤發生在肥皂php
- 20. 解析SMS日期/時間
- 21. 解析日期時間
- 22. 解析日期和時間
- 23. 解析日期時間
- 24. 解析日期和時間
- 25. 日期時間Python解析
- 26. 解析器日期時間
- 27. 解析日期時間HHMMSS
- 28. 解析日期時間
- 29. C++日期時間解析
- 30. 紅寶石皁日期時間解析錯誤
查看SimpleDateFormat類:http://docs.oracle.com/javase/7/docs/api/java/text/SimpleDateFormat.html以瞭解這些內容的含義。順便說一句,它們並不特定於SOAP。 – Vikdor
@Vikdor哇,不是特定於SOAP,但有一些例子。看起來字符T和Z根據我在那裏找到的例子沒有任何意義:「yyyy-MM-dd'T'HH:mm:ss.SSSZ」 –
只是Z似乎是時區,但值來自paypal webservice不符合規範.. –