2017-02-22 21 views
0

На Android пытается разобрать эту строку даты: 2017-02-21T00:45:03-05:00 с GSON 2.8.0 с помощью UtcDateTypeAdapter я получаю исключение: Caused by: com.google.gson.JsonParseException: java.text.ParseException: Failed to parse date ["2017-02-21T00:45:03-05:00']: null (at offset 0) at com.google.gson.typeadapters.UtcDateTypeAdapter.read(UtcDateTypeAdapter.java:66) at com.google.gson.typeadapters.UtcDateTypeAdapter.read(UtcDateTypeAdapter.java:39) ... Почему я получаю исключение, обрабатывающее действительную дату UTC с помощью GSON?

Тем не менее, очевидно, дата находится в допустимом формате.

ответ

0

Так получается, ключевые моменты, было то, что я использовал нон EN (то есть. AR) Locale на старых (API < 23) версий Android и идентификаторы часовых поясов путь обрабатываются в соответствии с этим Locale.

Код-нарушителем является: TimeZone timezone = TimeZone.getTimeZone(timezoneId); if (!timezone.getID().equals(timezoneId)) { throw new IndexOutOfBoundsException(); }

Как на старых версиях Android значения в коде выше для timezone.getID() против timezoneId являются: GMT-٠٥:٠٠ против GMT-05:00

 Смежные вопросы

  • Нет связанных вопросов^_^