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
?
You can also use DateTimeFormatter.ofPattern
as below
DateTimeFormatter dtf = DateTimeFormatter.ofPattern("yyyy-MM-dd'T'HH:mm:ss.SSS", Locale.getDefault());
String dateStr = "2019-09-20T12:36:39.359";
LocalDateTime date = LocalDateTime.parse(dateStr, dtf);