【发布时间】:2018-06-27 10:13:53
【问题描述】:
我有 jsondata,其中一个字段是日期,它的值看起来像
“2016-08-29 11:08:37.645007”我使用gson从json中获取反序列化的对象 但它会引发以下执行
`
Caused by: java.text.ParseException: Failed to parse date ["2016-08-29 11:08:37.645007"]: Invalid time zone indicator ' '
at com.google.gson.internal.bind.util.ISO8601Utils.parse(ISO8601Utils.java:274)
at com.google.gson.DefaultDateTypeAdapter.deserializeToDate(DefaultDateTypeAdapter.java:149)
... 64 more
Caused by: java.lang.IndexOutOfBoundsException: Invalid time zone indicator ' '
at com.google.gson.internal.bind.util.ISO8601Utils.parse(ISO8601Utils.java:245)
... 65 more
`
我不确定"yyyy-MM-dd'T'HH:mm:ss.SSSZ" 尝试的日期格式应该是什么,但它不起作用
【问题讨论】:
-
输入中真的没有时区指示符......“645007”代表什么?百万分之一秒?
-
你尝试过的把它贴在这里。??
-
您是否查看了 Javadocs 以了解格式应该是什么?
-
我建议你避免使用
SimpleDateFormat类。它不仅过时了,而且出了名的麻烦。今天我们在java.time, the modern Java date and time API 中做得更好。此外,SimpleDateFormat也无法解析 6 位小数秒的小数点。它只支持毫秒精度。
标签: java gson simpledateformat date-format timezone-offset