apache/gravitino

[Improvement] Correct JsonDateSerializer to output UTC times

Open

#8204 aperta il 20 ago 2025

Vedi su GitHub
 (5 commenti) (0 reazioni) (2 assegnatari)Java (887 fork)auto 404
good first issueimprovement

Metriche repository

Star
 (3058 star)
Metriche merge PR
 (Metriche PR in attesa)

Descrizione

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

Guida contributor