2012-07-14 60 views
0

我有一個應用程序,它在仿真器2.2和真實設備2.2.2上完美運行。我決定從2.2.2做2.3.4更新手機上的Android版本。一切都很順利,但我的應用程序突然停止工作,沒有任何理由。嗯,這讓我在這一行Unparseable date例外:在android 2.3.4(不在2.2)中很奇怪的'Unparseable date'問題

String timeOld12Hour = "11:50pm";// for example 
Date time = new SimpleDateFormat("hh:mma").parse(timeOld12Hour); 

那真的很有趣,因爲我無法看到這條線上的任何錯誤。 SImpledateformatter與我的日期格式完全相同。請告訴我最奇怪:

  • 它正常工作模擬器2.2
  • 它正常工作模擬器2.3.3
  • 它工作正常,所有的個人電腦用java我今天
  • 試圖在設備2.2.2
  • 工作正常
  • 它不能在設備上工作2.3.4

哪裏有問題?我嘗試了幾個手機重新啓動,卸載應用程序,重新安裝應用程序,我簡單不能得到它的工作...

+0

哪些設備無法正常工作? – 2012-07-14 05:20:33

回答

0

好吧,我發現是什麼問題。如果添加Locale.USSimpleDateFormatconstructor,像這樣:

String timeOld12Hour = "11:50pm";// for example 
Date time = new SimpleDateFormat("hh:mma", Locale.US).parse(timeOld12Hour); 

一切順利。這真的很有趣,我從來沒有聽說過這樣的事情;)我必須閱讀更多有關語言環境的內容,因爲它看起來非常重要。也仍然無法理解爲什麼我的手機的區域設置在Android升級後發生了變化...

+0

我有一個有效的日期,在Android 2.3.3上引發此異常(即使使用Local.US),但在較新版本上正常工作。你瞭解根本原因嗎? – 2013-12-07 12:30:20