在 Java 中,如何解析包含不代表模式的字母的日期字符串?
“2007-11-02T14:46:03+01:00”
字符串日期 = "2007-11-02T14:46:03+01:00";
字符串格式 = "yyyy-MM-ddTHH:mm:ssz";
新的 SimpleDateFormat(格式).parse(日期);
线程“main”中的异常 java.lang.IllegalArgumentException:非法模式字符“T”
在 java.text.SimpleDateFormat.compile(SimpleDateFormat.java:769)
在 java.text.SimpleDateFormat.initialize(SimpleDateFormat.java:576)
在 java.text.SimpleDateFormat.(SimpleDateFormat.java:501)
在 java.text.SimpleDateFormat.(SimpleDateFormat.java:476)
原文由 user775187 发布,翻译遵循 CC BY-SA 4.0 许可协议
您尝试解析的时间似乎是 ISO 8601 格式。
SimpleDateFormat
遗憾的是不支持与 ISO 8601 相同的所有时区说明符。如果您希望能够正确处理 ISO 中指定的所有形式,最好的办法是使用 Joda time 。这个例子直接来自 用户指南: