0

我正在使用 JodaTime 2.9.9:

implementation 'joda-time:joda-time:2.9.9'

我在本地 UnitTest ( test) 和 Instrumented 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());
  • 在本地 UnitTest ( test) - 测试通过:

FOO - str: '1/25/2018 5:03:12 PM' length: 20 FOO - prs: 2018-01-25T17:03:12.000Z

  • 在 Instrumented 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)

为什么?

4

0 回答 0