【发布时间】:2022-02-15 04:36:36
【问题描述】:
我想解析以下字符串:
2022-02-14T04:40:33.000000Z
所以我可以将其转换为这种日期格式:
14/Feb/2022 04:40 或dd/MMM/yyyy HH:mm。
但它会引发异常:
Caused by: java.text.ParseException: Unparseable date: "2022-02-14T04:40:33.000000Z"
我的代码是一个基本的SimpleDateFormat,代码如下:
val datetime = "2022-02-14T04:40:33.000000Z"
val inputFormat = SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss.SSSZ", Locale.getDefault())
val outputFormat = SimpleDateFormat("dd/MMM/yyyy HH:mm", Locale.getDefault())
val inputDate = inputFormat.parse(date) // exception thrown here.
val dateString = outputFormat.format(inputDate)
我尝试过以下格式:
yyyy-MM-dd'T'HH:mm:ss.SSSZ-
yyyy-MM-dd'T'HH:mm:ss.SSS'000'Z(我原以为会忽略多余的 000)
我读过 PHP DateTime::format,它的 u 格式字符持续 微秒。
但是,android SimpleDateFormat 不支持 微秒 字符。
【问题讨论】:
-
如果您尝试
yyyy-MM-dd'T'HH:mm:ss.SSSSSSZ会怎样? -
使用这个库来满足你的需要github.com/JakeWharton/ThreeTenABP
-
@IvoBeckers 我试过了,还是无法解析。