我在控制器上有一个方法,它有一个不可为空的日期时间参数。在发送之前,它被格式化为4种方式之一:MM / DD / YYYY,MM / DD / YY,DD / MM / YYYY,DD / MM / YY。
现在,反序列化适用于前2种格式。但不适用于DD / MM / YYYY的任何变化。相反,我得到01/01/0001
。
控制器示例:
[HttpPost]
public object Test(DateTime dt)
{
获取有效日期时间:02/23/2016
获取01/01/0001:23/02/2016
答案 0 :(得分:0)
当您将DateTime数据发布到控制器时,它会接受所有DateTime格式作为系统的DateTime格式。如果发布字符串不是问题,而不是DateTime类型,您可以将DateTime作为字符串发布并将其解析为您想要的格式,如下所示:
[HttpPost]
public object Test(string dt)
{
DateTime d = DateTime.ParseExact(dt, "dd/MM/yy", CultureInfo.InvariantCulture);
您可以使用这样的任何DateTime格式。如果不可能那么你总是要坚持特定的格式