Функция atStartOfDay

Функция atStartOfDay класса LocalDate преобразует дату в объект LocalDateTime, представляющий начало этого дня (00:00). Метод также имеет перегрузку с параметром ZoneId, которая возвращает ZonedDateTime с учетом указанного часового пояса.

Импорт

kotlinimport java.time.LocalDate
import java.time.LocalDateTime
import java.time.ZoneId
import java.time.ZonedDateTime

Синтаксис

kotlinfun atStartOfDay(): LocalDateTime
kotlinfun atStartOfDay(zone: ZoneId): ZonedDateTime

Пример

Получим начало дня для даты "2025-07-15":

kotlinval date = LocalDate.of(2025, 7, 15)
val startOfDay = date.atStartOfDay()
println(startOfDay)

Результат выполнения кода:

kotlinString "2025-07-15T00:00"

Пример

Получим начало дня с учетом часового пояса:

kotlinval date = LocalDate.of(2025, 12, 31)
val zone = ZoneId.of("Europe/Moscow")
val zonedStart = date.atStartOfDay(zone)
println(zonedStart)

Результат выполнения кода:

kotlinString "2025-12-31T00:00+03:00[Europe/Moscow]"

Пример

Используем системный часовой пояс по умолчанию:

kotlinval date = LocalDate.now()
val defaultZone = ZoneId.systemDefault()
val zonedStart = date.atStartOfDay(defaultZone)
println(zonedStart)

Результат выполнения кода:

kotlinString "2025-09-10T00:00+03:00[Europe/Moscow]"

Смотрите также

  • функцию atTime класса LocalDate,
    которая создает LocalDateTime из даты и времени
  • функцию toLocalDate класса LocalDateTime,
    которая извлекает дату из LocalDateTime
  • класс LocalDateTime,
    который представляет дату и время
  • класс ZonedDateTime,
    который представляет дату и время с часовым поясом