我想将LocalDateTime
序列化为文本格式,仅显示毫秒。 我尝试了以下示例:
final ObjectMapper mapper = new ObjectMapper();
mapper.registerModule(new Jdk8Module());
mapper.registerModule(new JavaTimeModule());
mapper.disable(SerializationFeature.WRITE_DATES_AS_TIMESTAMPS);
mapper.disable(SerializationFeature.WRITE_DATE_TIMESTAMPS_AS_NANOSECONDS);
final LocalDateTime t = LocalDateTime.of(2014, 3, 30, 12, 30, 23, 123456789);
System.out.println(mapper.writeValueAsString(t));
这将输出:
"2014-03-30T12:30:23.123456789"
所以,精度仍然是纳秒级别的,尽管不会显示它们,这是因为使用了mapper.disable(SerializationFeature.WRITE_DATE_TIMESTAMPS_AS_NANOSECONDS)
。
我的期望是:
"2014-03-30T12:30:23.123"
为什么会出现这种情况?我该如何解决?