Android 2.3 был недавно выпущен прошлой ночью.Естественно, я попробовал мое приложение на нем и обнаружил проблему с форматированием даты.Я заметил, что DateFormatter производит различные форматы.Сделайте это в простой Java-программе:
((SimpleDateFormat)DateFormat.getDateTimeInstance(DateFormat.LONG,
DateFormat.LONG)).format(new Date());
Вывод
7 декабря 2010 г. 11:49:40 EST
Doто же самое в эмуляторе Android, и вы получаете
7 декабря 2010 г. 11:42:50 GMT GMT-05: 00
Обратите внимание на другой часовой пояс.Кто-нибудь сталкивался с этой проблемой?Есть ли другой форматер, который я могу использовать, который не зависит от реализации Java?
РЕДАКТИРОВАТЬ: Хорошо, вот более подробно, почему я думаю, что это сломано:
Используя этот код:
private final DateFormat format =
new SimpleDateFormat("EEE, dd MMM yyyy HH:mm:ss z");
Я пыталсяразбирать дату но выдается следующая ошибка:
12-07 12:55:49.556: ERROR/DateDeserializer(847): Error when parsing date
java.text.ParseException: Unparseable date: "Mon, 06 Dec 2010 17:13:35 EST"
at java.text.DateFormat.parse(DateFormat.java:626)
at com.currency.mobile.client.DateDeserializer
.deserialize(DateDeserializer.java:31)
at com.currency.mobile.client.DateDeserializer
.deserialize(DateDeserializer.java:19)
at org.codehaus.jackson.map.deser.SettableBeanProperty
.deserialize(SettableBeanProperty.java:149)