【发布时间】:2019-09-22 07:59:22
【问题描述】:
当使用 Kotlin 等高级语言调用 postgresql Timestamp with Time Zone 数据类型时,需要提供 OffsetDateTime。
我找不到支持 Epoch 到 OffsetDateTime 转换的直接方法。
【问题讨论】:
标签: postgresql kotlin jooq epoch datetimeoffset
当使用 Kotlin 等高级语言调用 postgresql Timestamp with Time Zone 数据类型时,需要提供 OffsetDateTime。
我找不到支持 Epoch 到 OffsetDateTime 转换的直接方法。
【问题讨论】:
标签: postgresql kotlin jooq epoch datetimeoffset
fun convertEpochToOffsetDateTime(epochValue: Long): OffsetDateTime {
return OffsetDateTime.of(LocalDateTime.ofEpochSecond(epochValue, 0, ZoneOffset.UTC), ZoneOffset.UTC)
}
顺便说一句,我正在使用 Jooq 进行使用 Kotlin 的 SQL 查询。上面的工作就像一个魅力。
【讨论】:
另一种方法是从 Long -> Instant -> OffsetDateTime
OffsetDateTime.ofInstant(Instant.ofEpochMilli(started_at), ZoneOffset.UTC)
【讨论】:
我刚刚找到的另一种方式:
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"
}
【讨论】: