Método LocalDate atStartOfDay do Java com Fuso Horário

JavaBeginner
Pratique Agora

Introdução

O método Java atStartOfDay(ZoneId) é usado para combinar a hora de início (meia-noite) com a data especificada com base no fuso horário. Este método retorna um zoned date-time em vez de um local date-time. Neste laboratório, você aprenderá como usar o método atStartOfDay() com fuso horário em Java.

Criar um arquivo Java

Primeiramente, navegue até o diretório ~/project e crie um novo arquivo Java chamado LocalDateStartOfDay.java usando o comando abaixo:

cd ~/project
touch LocalDateStartOfDay.java

Em seguida, abra o arquivo LocalDateStartOfDay.java com seu editor de texto favorito.

Importar os pacotes necessários

Nesta etapa, importaremos os pacotes necessários para trabalhar com as classes LocalDate, Month, ZoneId e ZonedDateTime.

import java.time.LocalDate;
import java.time.Month;
import java.time.ZoneId;
import java.time.ZonedDateTime;

Obter data e hora com fuso horário a partir de uma data inicial

Nesta etapa, criaremos um objeto LocalDate com uma data especificada e, em seguida, usaremos o método atStartOfDay() para obter a data e hora zonificada a partir desta data com um fuso horário específico.

// Getting a date
LocalDate localDate = LocalDate.of(2022, Month.APRIL, 15);

// Getting start time of the date
ZonedDateTime localDateTime = localDate.atStartOfDay(ZoneId.of("Asia/Kolkata"));

// Displaying date and time of start of the date
System.out.println("Date with start time: \n"+localDateTime);

Obter data e hora com fuso horário a partir de uma data inicial com o fuso horário padrão do sistema

Nesta etapa, usaremos o método atStartOfDay() com o método ZoneId.systemDefault() para obter a data e hora zonificada a partir da data especificada com o fuso horário padrão do sistema.

// Getting start time of the date with system default time zone
ZonedDateTime localDateTime = localDate.atStartOfDay(ZoneId.systemDefault());

// Displaying date and time of start of the date
System.out.println("Date with start time: \n"+localDateTime);

Compilar e executar o programa Java

Nesta etapa, compilaremos e executaremos o programa Java usando o seguinte comando no terminal:

javac LocalDateStartOfDay.java && java LocalDateStartOfDay

Visualizar a saída

A saída deve ser como abaixo, fornecendo a data com a hora de início no fuso horário especificado.

Date with start time:
2022-04-15T00:00+05:30[Asia/Kolkata]
Date with start time:
2022-04-15T00:00+02:00[Europe/Paris]

Resumo

Neste laboratório, você aprendeu como usar o método Java atStartOfDay(ZoneId) para combinar a hora de início com a data especificada com base no fuso horário e obter a data e hora zonificada da data especificada com a hora de início. Você também aprendeu como obter a data e hora zonificada da data especificada com a hora de início e o fuso horário padrão do sistema.