2
解析器的電子郵件包含以下數據格式定義:這種Java日期格式有什麼問題?
private final static DateFormat dateFormat = new SimpleDateFormat("EEE, d MMM yyyy HH:mm:ss Z");
if (line.startsWith("Date:")) {
try {
email.date = dateFormat.parse(line.substring(6));
} catch (ParseException e) {
System.err.println("Unparsable: " + line.substring(6));
}
此代碼打印錯誤:
Unparsable: Mon, 15 Jan 2001 23:18:00 -0800 (PST)
爲什麼格式不匹配?
EEE, d MMM yyyy HH:mm:ss Z
它的工作原理沒有 「(PST)」 的結尾? – Thilo
這似乎工作'新的SimpleDateFormat(「EEE,d MMM yyyy HH:mm:ss Z」)。parse(「Mon,15 Jan 2001 23:18:00 -0800(PST)」)' –
如果它不是@JonSkeet指出的語言環境問題,它可能也是線程問題(SimpleDateFormat不是線程安全的),但這似乎不太可能。 – Thilo