From a93f2937c808b7c9bbcfe1c45f665b162bebe3e9 Mon Sep 17 00:00:00 2001 From: "xiaolong.deng" Date: Tue, 16 Jul 2024 15:06:00 +0800 Subject: [PATCH] =?UTF-8?q?=E6=96=B0=E5=A2=9E=E5=BA=8F=E5=88=97=E5=8C=96?= =?UTF-8?q?=E6=9E=9A=E4=B8=BEWriteSqlDateUseDefaultFormat=EF=BC=8C?= =?UTF-8?q?=E5=9C=A8=E4=BD=BF=E7=94=A8JSONObject.toJSONStringWithDateForma?= =?UTF-8?q?t=E6=97=B6=EF=BC=8C=E4=BD=BF=E7=94=A8WriteSqlDateUseDefaultForm?= =?UTF-8?q?at=E6=9E=9A=E4=B8=BE=E6=97=B6=EF=BC=8Cjava.sql.date=E4=B8=8D?= =?UTF-8?q?=E5=8F=97WriteDateUseDateFormat=E6=A0=BC=E5=BC=8F=E6=8E=A7?= =?UTF-8?q?=E5=88=B6=EF=BC=8C=E9=BB=98=E8=AE=A4=E6=A0=BC=E5=BC=8F=E5=8C=96?= =?UTF-8?q?=E4=B8=BA=E6=95=B0=E6=8D=AE=E5=BA=93=E5=AD=98=E5=82=A8=E6=A0=BC?= =?UTF-8?q?=E5=BC=8F?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../java/com/alibaba/fastjson/serializer/DateCodec.java | 2 +- .../com/alibaba/fastjson/serializer/SerializerFeature.java | 6 +++++- 2 files changed, 6 insertions(+), 2 deletions(-) diff --git a/src/main/java/com/alibaba/fastjson/serializer/DateCodec.java b/src/main/java/com/alibaba/fastjson/serializer/DateCodec.java index 31df03ae4f..66d2590e28 100644 --- a/src/main/java/com/alibaba/fastjson/serializer/DateCodec.java +++ b/src/main/java/com/alibaba/fastjson/serializer/DateCodec.java @@ -51,7 +51,7 @@ public void write(JSONSerializer serializer, Object object, Object fieldName, Ty } Class clazz = object.getClass(); - if (clazz == java.sql.Date.class && !out.isEnabled(SerializerFeature.WriteDateUseDateFormat)) { + if (clazz == java.sql.Date.class && (!out.isEnabled(SerializerFeature.WriteDateUseDateFormat)||out.isEnabled(SerializerFeature.WriteSqlDateUseDefaultFormat))) { long millis = ((java.sql.Date) object).getTime(); TimeZone timeZone = serializer.timeZone; int offset = timeZone.getOffset(millis); diff --git a/src/main/java/com/alibaba/fastjson/serializer/SerializerFeature.java b/src/main/java/com/alibaba/fastjson/serializer/SerializerFeature.java index 21a0ee949e..69403bdd45 100644 --- a/src/main/java/com/alibaba/fastjson/serializer/SerializerFeature.java +++ b/src/main/java/com/alibaba/fastjson/serializer/SerializerFeature.java @@ -152,7 +152,11 @@ public enum SerializerFeature { /** * @since 1.2.27 */ - MapSortField; + MapSortField, + /** + * java.sql.date按数据库默认格式进行格式化 + */ + WriteSqlDateUseDefaultFormat; SerializerFeature(){ mask = (1 << ordinal());