问题描述
在我的API(ASP.Net,.NET Framework 4.5)上,我需要以以下格式返回日期时间:2020-06-19T13:30:44 + 00:00
所以我创建了一个新的转换器
public class JsonDateFormatConverter : IsoDateTimeConverter
{
public JsonDateFormatConverter(string format)
{
DateTimeFormat = format;
}
}
装饰我的模型:
[JsonConverter(typeof(JsonDateFormatConverter),"yyyy-MM-ddTHH:mm:sszzz")]
public DateTime? StartDate{ get; set; }
但是不是返回例如“ 2020-03-07T00:00:00 + 01:00”的即时通讯,而是得到“ 2020-03-06T23:00:00Z”
因此,似乎所有内容都已在序列化为JSON之前转换为UTC。
我尝试在WebApiConfing中进行设置
config.Formatters.JsonFormatter.SerializerSettings.DateTimeZoneHandling = Newtonsoft.Json.DateTimeZoneHandling.Local;
但这没有帮助。
还尝试将dateTime类型设置为:
[JsonConverter(typeof(JsonDateFormatConverter),"yyyy-MM-ddTHH:mm:sszzz")]
public DateTime? StartDate
{
get => startDate;
set
{
if (value != null)
startDate= DateTime.SpecifyKind(value.Value,DateTimeKind.Local);
else
startDate= value;
}
}
private DateTime? startDate;
也没有帮助。
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)