I am trying to convert tow format of iso8601 date to localDateTime but this operation seems not working.
import java.time.Instant;
import java.time.LocalDateTime;
import java.time.ZoneOffset;
import java.time.format.DateTimeFormatter;
public class DemoIsoDate {
public static void main(String[] args) {
Instant instant = Instant.parse("2016-08-18T06:17:10.225Z");
LocalDateTime ldt = LocalDateTime.ofInstant(instant, ZoneOffset.UTC);
System.out.println("LocalDateTime in epoch milli : " + ldt.toEpochSecond(ZoneOffset.UTC) * 1000);
DateTimeFormatter dtf = DateTimeFormatter.ofPattern("yyyy-MM-dd'T'HH:mmX")
.withZone(ZoneOffset.UTC);
System.out.println(LocalDateTime.parse("2015-07-17T17:47:18+08:00", dtf));
}
}
This is the stacktrace:
LocalDateTime : 1471501030000 Exception in thread "main"
java.time.format.DateTimeParseException: Text '2015-07-17T17:47:18+08:00' could not be parsed at index 16
at java.time.format.DateTimeFormatter.parseResolved0(DateTimeFormatter.java:1949)
at java.time.format.DateTimeFormatter.parse(DateTimeFormatter.java:1851)
at java.time.LocalDateTime.parse(LocalDateTime.java:492)
at ca.qc.alfred.jms.reader.service.DemoIsoDate.main(DemoIsoDate.java:24)
Is that a problem of pattern that i am using or what ?
Thank you !