如何用前导空格解析LocalDateTime?

Yur*_*nko 4 java formatting datetime parsing java-8

我正在尝试使用LocalDateTime解析html页面中的日期。而且我无法提出解决方案来进行以下测试。

(使用TestNG)第一行始终失败

static final DateTimeFormatter DATE_TIME_FORMATTER = DateTimeFormatter.ofPattern("E MMM dd HH:mm:ss u");

    @DataProvider(name = "dateTimeFormats")
public Object[][] dateTimeFormats() {
    return new Object[][]{
            {"Mon Jan  5 06:41:07 2015", LocalDateTime.of(2015, 1, 5, 6, 41, 7)},
            {"Sun Jan 25 00:48:23 2015", LocalDateTime.of(2015, 1, 25, 0, 48, 23)},
            {"Mon Aug 14 07:58:00 2006", LocalDateTime.of(2006, 8, 14, 7, 58, 0)}
    };
}

@Test(dataProvider = "dateTimeFormats")
public void testParsePostDateTime(String dateTimeString, LocalDateTime expectedResult) {
    LocalDateTime result = LocalDateTime.parse(dateTimeString, DATE_TIME_FORMATTER);
    assertEquals(result, expectedResult);
}
Run Code Online (Sandbox Code Playgroud)

有什么想法应该使用哪种日期模式?

Men*_*ild 5

您可以使用模式“ E MMM ppd HH:mm:ss u”。p符号的解释请参见javadoc。这意味着由于存在大量p字母,因此将下一个字段填充到宽度。