I need to parse the following date format in String to Java LocalDateTime
.
So I get date as String like this: 2019-09-20T12:36:39.359
I have the following unit test:
@Test
public void testDateTime() {
assertEquals(SomeObject.getLocalDate(), LocalDateTime.parse(“2019-09-20T12:36:39.359”, DateTimeFormatter.ofPattern("yyyy-MM-ddThh:mm:ss.SSS")));
}
The unit test fails with exception:
java.lang.IllegalArgumentException: Unknown pattern letter: T
at java.time.format.DateTimeFormatterBuilder.parsePattern(DateTimeFormatterBuilder.java:1661)
at java.time.format.DateTimeFormatterBuilder.appendPattern(DateTimeFormatterBuilder.java:1570)
at java.time.format.DateTimeFormatter.ofPattern(DateTimeFormatter.java:536)
How can I correctly parse the date in this format to LocalDateTime
?
LocalDateTime
, so you can just leave out the formatter:LocalDateTime.parse("2019-09-20T12:36:39.359")
. The parsedLocalDateTime
object won’t ever be equal to aString
, though. – Pareu