我在我的应用中使用JodaTime,并从开发者控制台获得有关崩溃的报告,例如:
java.lang.RuntimeException: Unable to resume activity {com.myapp.app/Home}: java.lang.IllegalArgumentException: The datetime zone id 'Africa/Abuja' is not recognised
....
Caused by: java.lang.IllegalArgumentException: The datetime zone id 'Africa/Abuja' is not recognised
at org.joda.time.DateTimeZone.forTimeZone(DateTimeZone.java:337)
...
我正在使用这行代码获取时区:
```html
我正在使用这行代码获取时区:
```DateTimeZone tz = DateTimeZone.forTimeZone(TimeZone.getDefault());
有趣的是,大多数崩溃都发生在 Africa/****
时区。
TimeZone.getDefault()
是 Android API 的一部分,因此我认为它会返回可用的时区 ID。
是否有什么方法可以正确使用这些时区?这是 Android 和 Joda Time 已知的问题吗?
TimeZone.getDefault()
方法,将其传递给 DateTimeZone,如果它抛出异常,则默认使用TimeZone.getDefault().getOffset()
方法。 - you786