修改时区问题

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,22 +43,33 @@ 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;
}
public override void WriteJson(JsonWriter writer, object value, JsonSerializer serializer)

View File

@ -33,7 +33,7 @@ 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>());