Введение
Метод 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 указанной даты с временем начала и стандартным часовым поясом системы.



