我正在从 cassandra 表中读取数据记录。创建我构建的 Java 对象。使用我从数据记录中获得的值设置所有值(我使用 jackson 从记录中获取这些值)。当我查看 json 请求时,我看到一个很长的类似值。想知道它是什么格式吗?那为什么是负数呢?这是我得到的...
JsonNode ccEventNode = new ObjectMapper().readTree(row.getString(0));
ccEventNode.get("last_pyflt_dt")
这给了我一个值“1901-01-01”。然后我...
CCEvent ccEvent = new CCEvent;
ccEvent.getHistory().setLast_pyflt_dt(new SimpleDateFormat("yyyy-MM-dd").parse(ccEventNode.get("last_pyflt_dt").textValue()));
这为我刚刚设置的日期字段提供了一个值“Tue Jan 01 00:00:00 EST 1901”
但是当我完成设置所有其他值后读取 JSON 请求时,我看到的值是...
"lastPaymentFloatDate":-2177434800000
我的第一个问题是。这个值是多少?是从某个日期算起的分钟数吗?为什么是负数?当我将其发送到网络服务时,它引起了问题。当我有其他类似“2020-02-04”的日期时,它不会引起任何问题。它还在请求中向我显示了与上面类似的大量数字,但它不是负数。有点困惑。
最佳答案
-2177434800000
是纪元时间
之前的毫秒数。
纪元时间为 1 一月 1970 00:00:00
,被视为 0
毫秒。在它之前和之后的任何时间都是正值。将纪元时间视为数轴中的 0
。
您可以阅读更多相关信息here和 here .
此外,您还可以验证 epoch convertor website. 上的 -2177434800000
是否代表 1901-01-01
关于java - 使用 JsonNode 错误地解析日期字段,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60568043/