На данный момент нет чистой поддержки Kotlin для дат, только продолжительность. Вам придется полагаться на возможности целевой платформы для анализа и форматирования даты / времени.
Обратите внимание, что на какую бы платформу вы ни ориентировались, преобразование миллисекундной эпохи в форматированную дату не имеет смысла. без определения часового пояса.
Если вы нацеливаетесь на JVM , то вы можете использовать java.time
API следующим образом:
// define once somewhere in order to reuse it
val formatter = DateTimeFormatter.ofPattern("dd/MM/yyyy HH:mm:ss");
// JVM representation of a millisecond epoch absolute instant
val instant = Instant.ofEpochMilli(1575959745000L)
// Adding the timezone information to be able to format it (change accordingly)
val date = LocalDateTime.ofInstant(instant, ZoneId.systemDefault())
println(formatter.format(date)) // 10/12/2019 06:35:45
Если вы нацеливаетесь JavaScript, все становится сложнее. Вы можете сделать следующее, чтобы использовать какой-то часовой пояс по умолчанию и какой-нибудь достаточно близкий формат (определенный языковым стандартом "en-gb"
):
val date = Date(1575959745000)
println(date.toLocaleString("en-gb")) // 10/12/2019, 07:35:45
У вас есть способы указать часовой пояс согласно стандарту JS API для Date.toLocaleString()
. Но я не особо углублялся в детали.
Что касается нативного , я понятия не имею.