【发布时间】:2018-07-28 02:01:07
【问题描述】:
我想将日期字符串从日期字符串转换为 unix 时间戳,例如14-02-2018
有人可以帮忙吗?
【问题讨论】:
-
考虑使用
SimpleDateFormat,或者更好地尝试 Java 8 日期 API。
标签: date kotlin timestamp unix-timestamp
我想将日期字符串从日期字符串转换为 unix 时间戳,例如14-02-2018
有人可以帮忙吗?
【问题讨论】:
SimpleDateFormat,或者更好地尝试 Java 8 日期 API。
标签: date kotlin timestamp unix-timestamp
使用它来将日期字符串转换为 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")
【讨论】: