I want to convert below date into AEST format using Java.
2018-01-08T02:10:24.000+0000w
Below is the code which i am using for to convert .
DateTimeFormatter dtf = DateTimeFormatter.ofPattern("yyyy-MM-dd'T'HH:mm:ss.SSSzzz");
ZonedDateTime zdt = ZonedDateTime.parse(
map.get("records-LastModifiedDate").toString().trim());
System.out.println(zdt);
There is something wrong with the pattern? Please suggest.
You have to use the formatter when parsing the date string. Also you need to tell it to change the zone or zone offset to get it into AEST/AEDT.
This might work:
DateTimeFormatter dtf = DateTimeFormatter.ofPattern("yyyy-MM-dd'T'HH:mm:ss.SSSXX");
ZonedDateTime zdt = OffsetDateTime.parse(input, dtf)
.atZoneSameInstant(ZoneId.of("Australia/Sydney"));
String dateInTimeZone = zdt.format(dtf);
The offset will appear as "+1000" or "+1100" depending on the time of year.
来源:https://stackoverflow.com/questions/48412345/convert-date-into-aest-using-java