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

时间:2014-12-18 12:31:37

标签: c# asp.net-web-api2

我有一个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

1 个答案:

答案 0 :(得分:0)

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

对于Web API,您可能希望在global.asax

中注册CustomDateConverter格式化程序
JsonSerializerSettings serializerSettings = new JsonSerializerSettings();
serializerSettings.Converters.Add(new CustomDateConverter());
GlobalConfiguration.Configuration.Formatters[0] = new JsonNetFormatter(serializerSettings);