[英]Unable to parse date String to Date
我想將日期字符串解析為日期。 我正在尋找其他一些問題,但我找不到答案。
String mail_delivered = "31.10.2013 17:57:58 CET";
try {
DateFormat df = new SimpleDateFormat("dd.MM.yyyy HH:mm:ss z", Locale.GERMAN);
Date result = df.parse(mail_delivered);
System.out.println(result);
} catch (ParseException pe) {
pe.printStackTrace();
}
錯誤消息是java.text.ParseException: Unparseable date: "[31.10.2013 17:57:58 CET]"
我不知道什么是錯的。
你能幫我嗎。 提前致謝。
編輯:好的。 我把它變成英語,但我仍然是同樣的問題。 我不想改變輸入,因為它來自郵件數據庫。 還有其他想法嗎?
String mail_delivered = "31.10.2013 17:57:58 CET";
try {
DateFormat df = new SimpleDateFormat("dd.MM.yyyy HH:mm:ss z", Locale.ENGLISH);
Date result = df.parse(mail_delivered);
System.out.println(result);
} catch (ParseException pe) {
pe.printStackTrace();
}
我發現了這個問題。 我是瞎子。 來自數據庫的刺痛是[31.10.2013 17:57:58 CET]
,而不是31.10.2013 17:57:58 CET
謝謝。
在德語中,“中歐時間”是“MitteleuropäischeZeit”,因此如果您想使用Locale.GERMAN
, Locale.GERMAN
CET
更改為MEZ
並且它可以正常工作。
String mail_delivered = "31.10.2013 17:57:58 MEZ";
有關給定語言環境的所有合法時區字符串的列表,請使用以下命令:
DateFormatSymbols.getInstance(Locale.GERMAN).getZoneStrings()
試試這個:
public static void main(String[] args)throws Exception {
// TODO Auto-generated method stub
//Middle European Time (MET or MEZ-German)
String mail_delivered = "31.10.2013 17:57:58 MET";
try {
SimpleDateFormat df= new SimpleDateFormat("dd.MM.yyyy HH:mm:ss z",Locale.GERMAN);
Date result = df.parse(mail_delivered);
System.out.println(result);
} catch (ParseException pe) {
pe.printStackTrace();
}
}
輸出: - 2013年10月31日星期二22:27:58
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.