Функция atStartOfDay
Функция atStartOfDay класса LocalDate преобразует дату в объект LocalDateTime, представляющий начало этого дня (00:00).
Метод также имеет перегрузку с параметром ZoneId, которая возвращает ZonedDateTime с учетом указанного часового пояса.
Импорт
import java.time.LocalDate
import java.time.LocalDateTime
import java.time.ZoneId
import java.time.ZonedDateTime
Синтаксис
fun atStartOfDay(): LocalDateTime
fun atStartOfDay(zone: ZoneId): ZonedDateTime
Пример
Получим начало дня для даты "2025-07-15":
val date = LocalDate.of(2025, 7, 15)
val startOfDay = date.atStartOfDay()
println(startOfDay)
Результат выполнения кода:
String "2025-07-15T00:00"
Пример
Получим начало дня с учетом часового пояса:
val date = LocalDate.of(2025, 12, 31)
val zone = ZoneId.of("Europe/Moscow")
val zonedStart = date.atStartOfDay(zone)
println(zonedStart)
Результат выполнения кода:
String "2025-12-31T00:00+03:00[Europe/Moscow]"
Пример
Используем системный часовой пояс по умолчанию:
val date = LocalDate.now()
val defaultZone = ZoneId.systemDefault()
val zonedStart = date.atStartOfDay(defaultZone)
println(zonedStart)
Результат выполнения кода:
String "2025-09-10T00:00+03:00[Europe/Moscow]"
Смотрите также
-
функцию
atTimeклассаLocalDate,
которая создает LocalDateTime из даты и времени -
функцию
toLocalDateклассаLocalDateTime,
которая извлекает дату из LocalDateTime -
класс
LocalDateTime,
который представляет дату и время -
класс
ZonedDateTime,
который представляет дату и время с часовым поясом