En este tutorial veremos cómo convertir LocalDate a ZonedDateTime. LocalDate representa la fecha sin información de hora y zona horaria, ZonedDateTime representa la fecha con hora y zona horaria. Para convertir LocalDate a ZonedDateTime, necesitamos agregar la hora y el ID de zona horaria con la fecha local.
Ejemplo 1: Conversión de LocalDate proporcionada en formato String a ZonedDateTime
En este ejemplo, tenemos la fecha en el formato de cadena, primero estamos analizando la fecha especificada en LocalDate y luego convirtiendo LocalDate a ZonedDateTime usando el método atStartOfDay ().
import java.time.LocalDate; import java.time.ZoneId; import java.time.ZonedDateTime; public class Example { public static void main(String[] args) { //Parsing the given string into a LocalDate LocalDate localDate = LocalDate.parse("2017-07-22"); //Displaying the LocalDate System.out.println("LocalDate is: "+localDate); /* Converting the LocalDate to ZonedDateTime by using the * default zone id and appending the midnight time and default * zone id to the local date using atStartOfDay() method */ ZonedDateTime zonedDateTime = localDate.atStartOfDay(ZoneId.systemDefault()); //Displaying the ZonedDateTime System.out.println("ZoneDateTime is: "+zonedDateTime); } }
Producción:
LocalDate is: 2017-07-22 ZoneDateTime is: 2017-07-22T00:00+05:30[Asia/Kolkata]
Ejemplo 2: LocalDate a ZonedDateTime
En el primer ejemplo tenemos la fecha como una Cadena. En este ejemplo, tenemos la información de día, mes y año, con la que estamos creando una instancia de LocalDate y luego agregando la ID de hora y zona con el método atStartOfDay (), de la misma manera que vimos en el programa en.
import java.time.LocalDate; import java.time.ZoneId; import java.time.ZonedDateTime; public class Example { public static void main(String[] args) { //Converting the given year, month, date to LocalDate LocalDate localDate = LocalDate.of(2017, 07, 22); //printing the local date System.out.println("LocalDate is: "+localDate); /* Converting the LocalDate to ZonedDateTime the same way that * we have seen in the above example */ ZonedDateTime zonedDateTime = localDate.atStartOfDay(ZoneId.systemDefault()); //Displaying the output ZonedDateTime System.out.println("ZoneDateTime is: "+zonedDateTime); } }
Producción:
LocalDate is: 2017-07-22 ZoneDateTime is: 2017-07-22T00:00+05:30[Asia/Kolkata]
Artículos Relacionados:
- Java LocalDate
- Java: convierte la fecha local en la fecha
- Java – Convertir fecha a LocalDate
- Ejemplo de Java LocalDate – AdjustInto ()