jsonconverter Web API datetime 属性获取 01/01/0001

本文关键字:0001 获取 属性 Web API datetime jsonconverter | 更新日期: 2023-09-27 18:34:32

我有一个 web api 控制器方法,该方法接受一个复合对象,其中一个属性是 DateTime。客户端希望我们以 yyyyMMdd 格式公开日期。我正在使用以下到属性

[JsonConverter(typeof(CustomDateConverter))]
public DateTime TransactionDate { get; set; }
public class CustomDateConverter : IsoDateTimeConverter
{
    public CustomDateConverter()
    {
        DateTimeFormat = "yyyyMMdd";
    }
}

还有另一个属性,客户端是否只发送时间,即hhmmss格式当我在小提琴手中发送日期来测试此方法时,我在模型中得到的日期值为 01/01/0001 00:00:000

jsonconverter Web API datetime 属性获取 01/01/0001

您的代码适用于控制台应用程序,请参阅小提琴

对于 Web API,您可能希望在 global.asax 中注册CustomDateConverter格式化程序

JsonSerializerSettings serializerSettings = new JsonSerializerSettings();
serializerSettings.Converters.Add(new CustomDateConverter());
GlobalConfiguration.Configuration.Formatters[0] = new JsonNetFormatter(serializerSettings);