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