【发布时间】:2020-05-27 06:13:42
【问题描述】:
我正在使用 gson 将序列化消息转换为对象,但将一个属性转换为 java.sql.Timestamp 时遇到问题
JSON 中的开始时间属性是
{...other_fields, "start_time": "2020-05-27 05:23:43.022610"}
我的 Gson 解析器就是这样初始化的
new GsonBuilder().serializeNulls().setDateFormat("yyyy-MM-dd HH:mm:ss.S").create();
对象已正确解析,但开始时间具有不同的分钟和秒值。解析开始时间的结果是:2020-05-27 05:24:05.61
我错过了什么?
编辑1:
Java 版本:
1.8
Gson 版本:2.8.2
编辑2:
将格式更改为
yyyy-MM-dd HH:mm:ss后(省略 毫秒)我得到了正确的结果,但没有毫秒值。 我可以忍受,但如果有人仍然可以 解释这个问题。
【问题讨论】:
-
我认为stackoverflow.com/questions/26044881/… 可以帮助您理解这一点。
-
好吧,有一个
S,022610显然被解释为 22610 毫秒。您的预期时间加上 22610 毫秒等于您得到的结果。 -
@Maede 这家伙正在经历时区偏移偏移。我可以解决这个问题。我的问题是分钟、秒和毫秒完全搞砸了
-
@MCEmperor 是的,看起来就是这个问题