Introducción
El método Java atStartOfDay(ZoneId) se utiliza para combinar la hora de inicio (hora medianoche) con la fecha especificada en función de la zona horaria. Este método devuelve una fecha y hora zonificadas en lugar de una fecha y hora locales. En este laboratorio, aprenderá a usar el método atStartOfDay() con la zona horaria en Java.
Crea un archivo Java
En primer lugar, navega hasta el directorio ~/project y crea un nuevo archivo Java llamado LocalDateStartOfDay.java usando el comando siguiente:
cd ~/project
touch LocalDateStartOfDay.java
Luego, abre el archivo LocalDateStartOfDay.java con tu editor de texto favorito.
Importa los paquetes necesarios
En este paso, importaremos los paquetes necesarios para trabajar con las clases LocalDate, Month, ZoneId y ZonedDateTime.
import java.time.LocalDate;
import java.time.Month;
import java.time.ZoneId;
import java.time.ZonedDateTime;
Obtener la fecha y hora zonificadas a partir de una fecha de inicio
En este paso, crearemos un objeto LocalDate con una fecha especificada, luego usaremos el método atStartOfDay() para obtener la fecha y hora zonificadas a partir de esta fecha con una zona horaria específica.
// Obteniendo una fecha
LocalDate localDate = LocalDate.of(2022, Month.APRIL, 15);
// Obteniendo la hora de inicio de la fecha
ZonedDateTime localDateTime = localDate.atStartOfDay(ZoneId.of("Asia/Kolkata"));
// Mostrando la fecha y la hora de inicio de la fecha
System.out.println("Fecha con hora de inicio: \n"+localDateTime);
Obtener la fecha y hora zonificadas a partir de una fecha de inicio con la zona horaria predeterminada del sistema
En este paso, usaremos el método atStartOfDay() con el método ZoneId.systemDefault() para obtener la fecha y hora zonificadas a partir de la fecha especificada con la zona horaria predeterminada del sistema.
// Obteniendo la hora de inicio de la fecha con la zona horaria predeterminada del sistema
ZonedDateTime localDateTime = localDate.atStartOfDay(ZoneId.systemDefault());
// Mostrando la fecha y la hora de inicio de la fecha
System.out.println("Fecha con hora de inicio: \n"+localDateTime);
Compila y ejecuta el programa Java
En este paso, compilaremos y ejecutaremos el programa Java usando el siguiente comando en la terminal:
javac LocalDateStartOfDay.java && java LocalDateStartOfDay
Ver la salida
La salida debe ser la siguiente, mostrándote la fecha con la hora de inicio en la zona horaria especificada.
Date with start time:
2022-04-15T00:00+05:30[Asia/Kolkata]
Date with start time:
2022-04-15T00:00+02:00[Europe/Paris]
Resumen
En este laboratorio, has aprendido cómo usar el método Java atStartOfDay(ZoneId) para combinar la hora de inicio con la fecha especificada en función de la zona horaria y obtener la fecha y hora zonificadas de la fecha especificada con la hora de inicio. También has aprendido cómo obtener la fecha y hora zonificadas de la fecha especificada con la hora de inicio y la zona horaria predeterminada del sistema.



