【发布时间】:2018-10-17 19:34:34
【问题描述】:
我有这样的字符串,可以像这样格式化(取决于时区,例如):
“2018-10-17T15:33:15 UTC”
"2018-10-17T17:03:00 欧洲/布拉格
“2018-10-18T12:00:00 America/Kentucky/Monticello”
所以这些字符串最后包含区域 id
如何将此类字符串解析为日期时间?
我在尝试什么:
val dateString = "2018-10-18T12:00:00 America/Kentucky/Monticello"
ISODateTimeFormat
.dateTimeParser()
.parseDateTime(dateString)
更新:
我也试过了:
val simpleDateFormat = SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss zzzz")
val parsed: Date = simpleDateFormat.parse(dateString)
但是无法解析
【问题讨论】:
-
我建议你远离
SimpleDateFormat类。它不仅过时了,而且出了名的麻烦。今天我们在java.time, the modern Java date and time API 中做得更好。SimpleDateFormat不会给你任何你不能从 java.time 和 Joda-Time 得到的东西(我认为你从那里得到了ISODateTimeFormat)。
标签: datetime kotlin timezone datetime-parsing