如何在 Kotlin 中将 Epoch 转换为 OffsetDateTime?
How to convert an Epoch to a OffsetDateTime in Kotlin?
当使用 Kotlin 等高级语言调用时,需要提供 postgresql Timestamp with Time Zone
数据类型 OffsetDateTime
。
我找不到支持 Epoch 到 OffsetDateTime 转换的直接方法。
fun convertEpochToOffsetDateTime(epochValue: Long): OffsetDateTime {
return OffsetDateTime.of(LocalDateTime.ofEpochSecond(epochValue, 0, ZoneOffset.UTC), ZoneOffset.UTC)
}
顺便说一句,我正在使用 Jooq 进行 SQL 使用 Kotlin 的查询。上面的工作就像一个魅力。
我刚刚发现的另一种方式:
fun dateFormatter(epoch: Long): String {
// epoch = 1557954848
val date = Date(epoch * 1000L)
val sdf = SimpleDateFormat("yyyy-MM-dd HH:mm:ss.SSSSSS")
return sdf.format(date)
// returned value = "2019-05-15 14:14:08.000000"
}
另一种方法是从 Long -> Instant -> OffsetDateTime
OffsetDateTime.ofInstant(Instant.ofEpochMilli(started_at), ZoneOffset.UTC)
当使用 Kotlin 等高级语言调用时,需要提供 postgresql Timestamp with Time Zone
数据类型 OffsetDateTime
。
我找不到支持 Epoch 到 OffsetDateTime 转换的直接方法。
fun convertEpochToOffsetDateTime(epochValue: Long): OffsetDateTime {
return OffsetDateTime.of(LocalDateTime.ofEpochSecond(epochValue, 0, ZoneOffset.UTC), ZoneOffset.UTC)
}
顺便说一句,我正在使用 Jooq 进行 SQL 使用 Kotlin 的查询。上面的工作就像一个魅力。
我刚刚发现的另一种方式:
fun dateFormatter(epoch: Long): String {
// epoch = 1557954848
val date = Date(epoch * 1000L)
val sdf = SimpleDateFormat("yyyy-MM-dd HH:mm:ss.SSSSSS")
return sdf.format(date)
// returned value = "2019-05-15 14:14:08.000000"
}
另一种方法是从 Long -> Instant -> OffsetDateTime
OffsetDateTime.ofInstant(Instant.ofEpochMilli(started_at), ZoneOffset.UTC)