编辑:现在,有kotlinx-datetime库
目前没有对日期的纯 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
Run Code Online (Sandbox Code Playgroud)
如果您的目标是 JavaScript,事情会变得更棘手。您可以执行以下操作以使用某种默认时区和一些足够接近的格式(由 locale 定义"en-gb"):
val date = Date(1575959745000)
println(date.toLocaleString("en-gb")) // 10/12/2019, 07:35:45
Run Code Online (Sandbox Code Playgroud)
您可以根据 .js 的标准 JS API 指定时区Date.toLocaleString()。但我没有深入研究细节。
至于 native,我不知道。
| 归档时间: |
|
| 查看次数: |
1696 次 |
| 最近记录: |