Введение в дату и время в Kotlin
Программа часто хранит день рождения, срок оплаты или момент отправки письма. Календарная дата - это год, месяц и число без привязки к часам. Время - часы, минуты и секунды без календаря. Полная отметка объединяет обе части.
В Kotlin/JVM для таких значений применяют стандартный пакет java.time. Он пришел на смену старым типам Date и Calendar: объекты неизменяемы, их проще сравнивать и складывать с периодами.
Базовые типы раздела - LocalDate, LocalTime и LocalDateTime. Они описывают локальное время без часового пояса. Для записи и чтения строк служит DateTimeFormatter, для календарных интервалов - Period, для точных промежутков - Duration.
Локальные типы описывают календарь там, где запущена программа. Универсальная отметка на шкале UTC нужна, когда данные уходят на сервер или лежат в базе в одном формате для разных регионов.