apache / apache/gravitino

[Improvement] Correct JsonDateSerializer to output UTC times

Open
#8,204 6 comments 0 reactions 2 assignees Claimed by @roryqi View on GitHub
good first issue improvement
Dominant language
Java
Stars
3.2k
Forks
935
Avg merge
1d 17h
Merged PRs (30d)
339

Description

### 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

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.