diff --git a/core-java-modules/core-java-8-datetime-2/src/main/java/com/baeldung/localdatetoiso/LocalDateToISO.java b/core-java-modules/core-java-8-datetime-2/src/main/java/com/baeldung/localdatetoiso/LocalDateToISO.java new file mode 100644 index 0000000000..7ef5c9bf56 --- /dev/null +++ b/core-java-modules/core-java-8-datetime-2/src/main/java/com/baeldung/localdatetoiso/LocalDateToISO.java @@ -0,0 +1,25 @@ +package com.baeldung.localDateToISO; + +import java.text.DateFormat; +import java.text.SimpleDateFormat; +import java.time.LocalDate; +import java.time.ZoneOffset; +import java.time.format.DateTimeFormatter; +import java.util.Date; + +import org.apache.commons.lang3.time.DateFormatUtils; + +public class LocalDateToISO { + public String formatUsingDateTimeFormatter(LocalDate localDate) { + DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd'T'HH:mm:ssX"); + String formattedDate = localDate.atStartOfDay().atOffset(ZoneOffset.UTC).format(formatter); + return formattedDate; + } + + public String formatUsingSimpleDateFormat(LocalDate date) { + Date utilDate = Date.from(date.atStartOfDay(ZoneOffset.UTC).toInstant()); + DateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ssX"); + String formattedDate = dateFormat.format(utilDate); + return formattedDate; + } +}