apache/gravitino

[Improvement] Correct JsonDateSerializer to output UTC times

Open

#8,204 创建于 2025年8月20日

在 GitHub 查看
 (5 评论) (0 反应) (2 负责人)Java (887 fork)auto 404
good first issueimprovement

仓库指标

Star
 (3,058 star)
PR 合并指标
 (PR 指标待抓取)

描述

What would you like to be improved?

Correct JsonDateSerializer so it now formats dates using UTC (also known as Zulu or Zebra time) instead of the system’s default timezone.

Here is a unit test showing the issue:

  @Test
  @SuppressWarnings("JavaUtilDate")
  public void testSerializeUsesUtcTimezone() throws Exception {
    TimeZone original = TimeZone.getDefault();
    try {
      TimeZone.setDefault(TimeZone.getTimeZone("GMT+8"));
      JsonDateSerializer serializer = new JsonDateSerializer();
      ObjectMapper mapper = new ObjectMapper();
      StringWriter writer = new StringWriter();
      JsonGenerator generator = mapper.getJsonFactory().createJsonGenerator(writer);
      Date date = new Date(0L);
      serializer.serialize(date, generator, mapper.getSerializerProvider());
      generator.flush();
      assertEquals("\"1970-01-01T00:00:00Z\"", writer.toString());
    } finally {
      TimeZone.setDefault(original);
    }

How should we improve?

see above

贡献者指南