修改时区问题

IRC_NewDev
hang 2024-03-14 13:48:27 +08:00
parent 664b308e31
commit ca90736366
2 changed files with 25 additions and 14 deletions

View File

@ -43,21 +43,32 @@ namespace IRaCIS.Core.API
public override object ReadJson(JsonReader reader, Type objectType, object existingValue, JsonSerializer serializer)
{
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;
}
else
if (reader.Value == null)
{
return null;
}
DateTime dateTime;
if (reader.ValueType == typeof(string))
{
if (DateTime.TryParse((string)reader.Value, out dateTime) == false)
{
throw new JsonSerializationException("Unable to parse DateTime value.");
}
}
else
{
dateTime = (DateTime)reader.Value;
}
// 将客户端时间转换为服务器时区的时间
var serverZoneTime = TimeZoneInfo.ConvertTime(dateTime, _clientTimeZone, TimeZoneInfo.Local);
return serverZoneTime;
}

View File

@ -33,10 +33,10 @@ namespace IRaCIS.Core.API
//options.SerializerSettings.Converters.Add(new JSONCustomDateConverter()) ;
//options.SerializerSettings.Converters.Add(services.BuildServiceProvider().GetService<JSONTimeZoneConverter>());
options.SerializerSettings.Converters.Add(services.BuildServiceProvider().GetService<JSONTimeZoneConverter>());
//options.SerializerSettings.Converters.Add(services.BuildServiceProvider().GetService<CustomStringConverter>());
//IsoDateTimeConverter
//options.SerializerSettings.NullValueHandling = NullValueHandling.Ignore;