微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

Asp.Net MVC Web API强制在dateTime上进行UTC转换

如何解决Asp.Net MVC Web API强制在dateTime上进行UTC转换

在我的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 举报,一经查实,本站将立刻删除。