Метод Java LocalDate atStartOfDay с часовым поясом

JavaBeginner
Практиковаться сейчас

Введение

Метод Java atStartOfDay(ZoneId) используется для комбинирования времени начала (минутночного времени) с указанной датой на основе часового пояса. Этот метод возвращаетzoned date-time, а не local date-time. В этом лабе вы узнаете, как использовать метод atStartOfDay() с часовым поясом в Java.

Создайте Java-файл

Во - первых, перейдите в каталог ~/project и создайте новый java-файл с именем LocalDateStartOfDay.java с использованием команды ниже:

cd ~/project
touch LocalDateStartOfDay.java

Затем откройте файл LocalDateStartOfDay.java в своем любимом текстовом редакторе.

Импортируйте необходимые пакеты

В этом шаге мы импортируем необходимые пакеты для работы с классами LocalDate, Month, ZoneId и ZonedDateTime.

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

Получитеzoned date-time из начальной даты

В этом шаге мы создадим объект LocalDate с указанной датой, а затем используем метод atStartOfDay(), чтобы получитьzoned date-time из этой даты с определенным часовым поясом.

// Получение даты
LocalDate localDate = LocalDate.of(2022, Month.APRIL, 15);

// Получение времени начала дня
ZonedDateTime localDateTime = localDate.atStartOfDay(ZoneId.of("Asia/Kolkata"));

// Отображение даты и времени начала дня
System.out.println("Дата с временем начала: \n"+localDateTime);

Получитеzoned date-time из начальной даты с системным стандартным часовым поясом

В этом шаге мы используем метод atStartOfDay() вместе с методом ZoneId.systemDefault(), чтобы получитьzoned date-time из указанной даты с стандартным часовым поясом системы.

// Получение времени начала дня с системным стандартным часовым поясом
ZonedDateTime localDateTime = localDate.atStartOfDay(ZoneId.systemDefault());

// Отображение даты и времени начала дня
System.out.println("Дата с временем начала: \n"+localDateTime);

Компилируйте и запустите Java-программу

В этом шаге мы скомпилируем и запустим Java-программу с использованием следующей команды в терминале:

javac LocalDateStartOfDay.java && java LocalDateStartOfDay

Посмотреть вывод

Вывод должен быть следующим, показывающим дату с временем начала в указанном часовом поясе.

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

Резюме

В этом практическом занятии вы узнали, как использовать метод Java atStartOfDay(ZoneId) для объединения времени начала с указанной датой в соответствии с часовым поясом и получитьzoned date-time указанной даты с временем начала. Также вы узнали, как получитьzoned date-time указанной даты с временем начала и стандартным часовым поясом системы.