apache/gravitino

[Improvement] Correct JsonDateSerializer to output UTC times

Open

#8,204 opened on 2025年8月20日

GitHub で見る
 (5 comments) (0 reactions) (2 assignees)Java (887 forks)auto 404
good first issueimprovement

Repository metrics

Stars
 (3,058 stars)
PR merge metrics
 (PR metrics pending)

説明

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

コントリビューターガイド