【问题标题】:How to convert date string to timestamp in Kotlin?如何在 Kotlin 中将日期字符串转换为时间戳?
【发布时间】:2018-07-28 02:01:07
【问题描述】:

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

有人可以帮忙吗?

【问题讨论】:

  • 考虑使用SimpleDateFormat,或者更好地尝试 Java 8 日期 API。

标签: date kotlin timestamp unix-timestamp


【解决方案1】:

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

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

【讨论】:

  • 仅应在 JDK
【解决方案2】:

从 JDK 8 开始,您可以这样做:

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

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

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

【讨论】:

【解决方案3】:

为了向后兼容,请使用 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")

【讨论】:

    猜你喜欢
    • 2021-07-06
    • 2020-09-23
    • 1970-01-01
    • 2011-05-05
    • 1970-01-01
    • 2019-09-13
    • 2011-02-14
    • 2011-05-21
    • 1970-01-01
    相关资源
    最近更新 更多