如何在 Kotlin 中将日期字符串转换为时间戳?

How to convert date string to timestamp in Kotlin?

我想将日期字符串从日期字符串转换为 unix 时间戳,例如14-02-2018

有人可以帮忙吗?

使用它来将日期字符串转换为 UNIX 时间戳

val date = SimpleDateFormat("dd-MM-yyyy").parse("14-02-2018")
println(date.time)

因为 JDK 8 你可以做:

val l = LocalDate.parse("14-02-2018", DateTimeFormatter.ofPattern("dd-MM-yyyy"))

val unix = l.atStartOfDay(ZoneId.systemDefault()).toInstant().epochSecond

请注意,该示例使用您系统的默认时区。

为了向后兼容,使用 ThreeTenABP 库,但 Android 本身的更好解决方案将启用支持 https://developer.android.com/studio/write/java8-support#library-desugaring

启用后,您现在可以将字符串日期解析为任何有效的格式模式

LocalDate.parse(date, DateTimeFormatter.ISO_LOCAL_DATE_TIME).format(
        DateTimeFormatter.ofPattern("MMM. dd, yyyy")