Получение текущей даты

Kotlin:
Получение текущей даты

Как:

import java.time.LocalDate

fun main() {
    val today = LocalDate.now()
    println("Сегодняшняя дата: $today")
}

Пример вывода:

Сегодняшняя дата: 2023-04-05

Глубокое погружение

Исторически, даты были кучей проблем для разработчиков. Часовые пояса, високосные годы, переход на летнее время; это сложно. Kotlin опирается на API java.time начиная с Java 8, что делает операции с датами более приемлемыми.

LocalDate.now() - наш выбор для текущих дат. Без времени, без зоны — только дата. Нужно время? Есть LocalTime. И то, и другое? LocalDateTime. А если важен часовой пояс, используйте ZonedDateTime.

Альтернативы? До Java 8 господствовали java.util.Date и Calendar. Не отлично, не ужасно, но теперь как-то устарели и, честно говоря, менее интуитивны.

Под капотом LocalDate.now() захватывает системные часы. Но это не просто какие-то часы - это часы UTC, скорректированные к часовому поясу вашей системы по умолчанию. Вы можете поменять ее, конечно - передайте другой Clock или ZoneId, если вам нравится жить на грани.

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

Документация Kotlin о датах и времени: https://kotlinlang.org/api/latest/jvm/stdlib/kotlin.time/

Обзор Java 8 Date/Time: https://www.oracle.com/technical-resources/articles/java/jf14-date-time.html

Хотите стать полным историком? Ознакомьтесь с эволюцией java.time: https://www.oracle.com/technetwork/articles/java/jf14-date-time-2125367.html