diff --git a/IRaCIS.Core.API/_ServiceExtensions/NewtonsoftJson/JSONTimeZoneConverter.cs b/IRaCIS.Core.API/_ServiceExtensions/NewtonsoftJson/JSONTimeZoneConverter.cs index 75c5525ab..af0b905b6 100644 --- a/IRaCIS.Core.API/_ServiceExtensions/NewtonsoftJson/JSONTimeZoneConverter.cs +++ b/IRaCIS.Core.API/_ServiceExtensions/NewtonsoftJson/JSONTimeZoneConverter.cs @@ -43,20 +43,22 @@ namespace IRaCIS.Core.API public override object ReadJson(JsonReader reader, Type objectType, object existingValue, JsonSerializer serializer) { - if (reader.Value == null) - return null; - else + DateTime? nullableDateTime = reader.Value as DateTime?; + + if (nullableDateTime != null && nullableDateTime.HasValue) { var dateTime = (DateTime)reader.Value; // 将客户端时间转换为服务器时区的时间 var serverZoneTime = TimeZoneInfo.ConvertTime(dateTime, _clientTimeZone, TimeZoneInfo.Local); - + return serverZoneTime; } - - // 在反序列化时,我们不需要此转换器,因此不实现此方法 - //throw new NotImplementedException(); + else + { + return null; + } + } public override void WriteJson(JsonWriter writer, object value, JsonSerializer serializer)