Skip to content

Commit 7026f6c

Browse files
committed
Test dataformat-joda#92
1 parent e18531f commit 7026f6c

File tree

1 file changed

+17
-7
lines changed

1 file changed

+17
-7
lines changed

datetime/src/test/java/com/fasterxml/jackson/datatype/jsr310/ser/ZonedDateTimeSerTest.java

Lines changed: 17 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -17,10 +17,8 @@
1717
package com.fasterxml.jackson.datatype.jsr310.ser;
1818

1919
import com.fasterxml.jackson.core.JsonProcessingException;
20-
import java.time.Instant;
21-
import java.time.ZoneId;
22-
import java.time.ZoneOffset;
23-
import java.time.ZonedDateTime;
20+
21+
import java.time.*;
2422
import java.time.format.DateTimeFormatter;
2523
import java.time.temporal.ChronoField;
2624
import java.time.temporal.ChronoUnit;
@@ -30,14 +28,12 @@
3028

3129
import org.junit.jupiter.api.Test;
3230

31+
import com.fasterxml.jackson.databind.*;
3332
import com.fasterxml.jackson.databind.json.JsonMapper;
3433
import com.fasterxml.jackson.datatype.jsr310.JavaTimeFeature;
3534
import com.fasterxml.jackson.datatype.jsr310.JavaTimeModule;
3635

3736
import com.fasterxml.jackson.annotation.JsonFormat;
38-
import com.fasterxml.jackson.databind.DeserializationFeature;
39-
import com.fasterxml.jackson.databind.ObjectMapper;
40-
import com.fasterxml.jackson.databind.SerializationFeature;
4137
import com.fasterxml.jackson.databind.module.SimpleModule;
4238
import com.fasterxml.jackson.datatype.jsr310.DecimalUtils;
4339
import com.fasterxml.jackson.datatype.jsr310.MockObjectConfiguration;
@@ -975,6 +971,20 @@ public void testShapeInt() throws JsonProcessingException {
975971
assertEquals("{\"t1\":1651053600000,\"t2\":1651053600.000000000}", json1);
976972
}
977973

974+
// [dataformat-joda#92] DateTime serialization result is not same as Java 8 ZonedDateTime
975+
@Test
976+
public void testSerializationWithZone() throws Exception
977+
{
978+
ZonedDateTime java8ZonedDateTime = ZonedDateTime.of(2023, 10, 1, 12, 0, 0, 0,
979+
ZoneId.of("Asia/Shanghai"));
980+
981+
String actual = MAPPER.writer()
982+
.without(SerializationFeature.WRITE_DATES_AS_TIMESTAMPS)
983+
.writeValueAsString(java8ZonedDateTime);
984+
985+
assertEquals("\"2023-10-01T12:00:00+08:00\"", actual);
986+
}
987+
978988
private static void assertIsEqual(ZonedDateTime expected, ZonedDateTime actual)
979989
{
980990
assertTrue(expected.isEqual(actual),

0 commit comments

Comments
 (0)