[英]is SimpleDateFormat different in Java & Android?
我在Java中使用以下代碼,效果完美!
SimpleDateFormat format = new SimpleDateFormat("E, dd MMM yyyy HH:mm:ss z");
Date date = format.parse("Sun, 11 May 2014 23:11:51 +0430");
但是在Android中,我有例外!
java.text.ParseException: Unparseable date: "Sun, 11 May 2014 23:11:51 +0430" (at offset 0)
怎么了 ?!
問題是,如果默認語言環境為英語,則代碼將正確執行,否則將引發異常。 您可以添加正確的語言環境來解決它。
//Locale locale = new Locale("en-US");
Locale locale = Locale.US;
SimpleDateFormat format = new SimpleDateFormat("E, dd MMM yyyy HH:mm:ss z", locale);
Date date = format.parse("Sun, 11 May 2014 23:11:51 +0430");
可能是android設備具有不同的語言設置。 考慮使用注釋中所述的RC常量語言環境,在這種情況下,您不需要額外的變量,請直接在構造函數中使用常量。
SimpleDateFormat format = new SimpleDateFormat("E, dd MMM yyyy HH:mm:ss z", Locale.US);
Date date = format.parse("Sun, 11 May 2014 23:11:51 +0430");
例如,如果設備上的語言環境為德語,則在解析此日期時將執行代碼:
SimpleDateFormat format = new SimpleDateFormat("E, dd MMM yyyy HH:mm:ss z", Locale.GERMAN);
Date date = format.parse("So, 11 Mai 2014 23:11:51 +0430");
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.