簡體   English   中英

無法將日期字符串解析為日期

[英]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.GERMANLocale.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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM