diff --git a/ebean-joda-time/src/main/java/io/ebean/joda/time/ScalarTypeJodaDateMidnight.java b/ebean-joda-time/src/main/java/io/ebean/joda/time/ScalarTypeJodaDateMidnight.java index e2520906d..61f71869b 100644 --- a/ebean-joda-time/src/main/java/io/ebean/joda/time/ScalarTypeJodaDateMidnight.java +++ b/ebean-joda-time/src/main/java/io/ebean/joda/time/ScalarTypeJodaDateMidnight.java @@ -23,7 +23,7 @@ final class ScalarTypeJodaDateMidnight extends ScalarTypeBaseDate @Override protected String toIsoFormat(DateMidnight value) { - return value.toString(); + return value.toLocalDate().toString(); } @Override diff --git a/ebean-joda-time/src/test/java/io/ebean/joda/time/ScalarTypeJodaDateMidnightTest.java b/ebean-joda-time/src/test/java/io/ebean/joda/time/ScalarTypeJodaDateMidnightTest.java new file mode 100644 index 000000000..ddc3f8296 --- /dev/null +++ b/ebean-joda-time/src/test/java/io/ebean/joda/time/ScalarTypeJodaDateMidnightTest.java @@ -0,0 +1,30 @@ +package io.ebean.joda.time; + +import com.fasterxml.jackson.core.JsonFactory; +import com.fasterxml.jackson.core.JsonParser; +import com.fasterxml.jackson.core.JsonToken; +import io.ebean.config.JsonConfig; +import org.joda.time.DateMidnight; +import org.junit.jupiter.api.Test; + +import java.io.IOException; +import java.io.StringReader; + +import static org.junit.jupiter.api.Assertions.assertEquals; + +class ScalarTypeJodaDateMidnightTest { + + ScalarTypeJodaDateMidnight type = new ScalarTypeJodaDateMidnight(JsonConfig.Date.ISO8601); + JsonFactory jsonFactory = new JsonFactory(); + + @Test + void testIsoFormat() throws IOException { + // long millis = 1674472451640L; + JsonParser parser = jsonFactory.createParser(new StringReader("\"2023-01-23\"")); + JsonToken token = parser.nextToken(); + assertEquals(JsonToken.VALUE_STRING, token); + DateMidnight dm = type.jsonRead(parser); + String iso = type.toIsoFormat(dm); + assertEquals("2023-01-23", iso); + } +}