JodaTime синтаксический анализ неправильно "PM" - но только на реальном устройстве (работает хорошо в локальном тесте)
Я использую JodaTime 2.9.9:
implementation 'joda-time:joda-time:2.9.9'
Я анализирую ту же строку даты / времени в локальном UnitTest (test
) и на Инструментированном UnitTest (androidTest
).
Код синтаксического анализа:
String testString = "1/25/2018 5:03:12 PM";
System.out.println("FOO - str: '" + testString + "' length: " + testString.length());
DateTime res = DateTime.parse(testString, DateTimeFormat.forPattern("MM/dd/yyyy hh:mm:ss a"));
System.out.println("FOO - prs: " + res.toString());
assertEquals("Month: ", 1, res.getMonthOfYear());
- On Local UnitTest (
test
) - тесты проходят:
FOO - str: '1/25/2018 5:03:12 PM' length: 20
FOO - prs: 2018-01-25T17:03:12.000Z
- На Инструментированном UnitTest (
androidTest
) - тест не пройден:
java.lang.IllegalArgumentException: Invalid format: "1/25/2018 5:03:12 PM" is malformed at "PM"
at org.joda.time.format.DateTimeFormatter.parseDateTime(DateTimeFormatter.java:945)
Зачем?