Метод atStartOfDay
Метод atStartOfDay класса LocalDate возвращает объект LocalDateTime, который представляет начало дня, то есть полночь (00:00) текущей даты. Метод не принимает параметров. Исходный объект LocalDate при этом не изменяется, так как класс LocalDate является неизменяемым.
Метод удобно использовать, когда нужно преобразовать дату в дату-время для дальнейших операций сравнения или форматирования.
Синтаксис
localDate.atStartOfDay()
Пример
Давайте получим начало дня для даты 2025-01-15:
import java.time.LocalDate;
import java.time.LocalDateTime;
public class Main
{
public static void main(String[] args)
{
LocalDate date = LocalDate.of(2025, 1, 15);
LocalDateTime res = date.atStartOfDay();
System.out.println(res);
}
}
Результат выполнения кода:
2025-01-15T00:00
Пример
Давайте получим начало текущего дня с помощью метода now:
import java.time.LocalDate;
import java.time.LocalDateTime;
public class Main
{
public static void main(String[] args)
{
LocalDate date = LocalDate.now();
LocalDateTime res = date.atStartOfDay();
System.out.println(res);
}
}
Результат выполнения кода:
2025-01-15T00:00
Пример
Давайте получим компоненты даты-времени начала дня отдельно:
import java.time.LocalDate;
import java.time.LocalDateTime;
public class Main
{
public static void main(String[] args)
{
LocalDate date = LocalDate.of(2025, 1, 15);
LocalDateTime res = date.atStartOfDay();
System.out.println(res.getYear());
System.out.println(res.getMonthValue());
System.out.println(res.getDayOfMonth());
System.out.println(res.getHour());
System.out.println(res.getMinute());
}
}
Результат выполнения кода:
2025
1
15
0
0