0

我有一个应用程序,它在模拟器 2.2 和真实设备 2.2.2 上完美运行。我决定从 2.2.2 到 2.3.4 更新我在手机上的 android 版本。一切顺利,但我的应用程序突然无缘无故停止工作。好吧,这让我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

哪里可能有问题?我尝试了几次手机重启,卸载应用程序,重新安装应用程序,我只是无法让它工作......

4

1 回答 1

0

好吧,我发现了问题所在。如果添加Locale.USSimpleDateFormatconstructor,像这样:

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

一切顺利。这真的很有趣,我从来没有听说过这样的事情;)我必须阅读更多关于语言环境的内容,因为它看起来非常重要。也仍然无法理解为什么我的手机的语言环境在 Android 升级后发生了变化......

于 2012-07-14T10:58:01.090 回答