Функция now
Функция now
класса OffsetDateTime
возвращает текущие дату и время со смещением от UTC/Greenwich, полученные из системных часов.
В необязательный параметр можно передать объект ZoneId
для получения времени в конкретном часовом поясе или объект Clock
для тестирования.
Импорт
import java.time.OffsetDateTime
import java.time.ZoneId
import java.time.Clock
Синтаксис
fun now(): OffsetDateTime
fun now(zone: ZoneId): OffsetDateTime
fun now(clock: Clock): OffsetDateTime
Пример
Получим текущие дату и время со смещением в системном часовом поясе:
val currentDateTime = OffsetDateTime.now()
println(currentDateTime)
Результат выполнения кода:
String "2025-09-10T14:30:45.123+03:00"
Пример
Получим текущие дату и время со смещением в конкретном часовом поясе:
val tokyoZone = ZoneId.of("Asia/Tokyo")
val tokyoDateTime = OffsetDateTime.now(tokyoZone)
println(tokyoDateTime)
Результат выполнения кода:
String "2025-09-10T20:30:45.123+09:00"
Пример
Используем фиксированные часы для тестирования:
val fixedClock = Clock.fixed(
Instant.parse("2025-12-31T23:59:59.999Z"),
ZoneId.of("UTC")
)
val fixedDateTime = OffsetDateTime.now(fixedClock)
println(fixedDateTime)
Результат выполнения кода:
String "2025-12-31T23:59:59.999Z"
Пример
Получим отдельные компоненты даты и времени:
val current = OffsetDateTime.now()
val year = current.year
val month = current.monthValue
val day = current.dayOfMonth
val hour = current.hour
val minute = current.minute
val offset = current.offset
println("Year: $year, Month: $month, Day: $day")
println("Hour: $hour, Minute: $minute")
println("Offset: $offset")
Результат выполнения кода:
String "Year: 2025, Month: 9, Day: 10"
String "Hour: 14, Minute: 30"
String "Offset: +03:00"
Смотрите также
-
функцию
now
классаLocalDateTime
,
которая возвращает текущие дату и время без смещения -
функцию
now
классаZonedDateTime
,
которая возвращает текущие дату и время с информацией о часовом поясе -
функцию
of
классаOffsetDateTime
,
которая создает дату и время со смещением из компонентов -
класс
ZoneOffset
,
который представляет смещение от UTC/Greenwich