我想将DateTime从javascript发布到我的MVC控制器。日期时间字符串的格式为yy-mm-dd hh:mm。这是我的JavaScript代码:

 var dataObject = {
         dateData: New Date('16-01-01 15:30')
        }

        console.log(dataObject);

        $.ajax({
            type: "POST",
            url: '@Url.Content("~/Service/DateTest")',
            dataType: "json",
            data: dataObject,
            },
            success: function (response) {

            }
        });
    }


这是我的MVC控制器:

  public ActionResult DateTest(DateObject data)
        {
            return Json("ok", JsonRequestBehavior.AllowGet);
        }


但是,在我的DateObject中,我得到“ {1/1/0001 12:00:00 AM}”。

我究竟做错了什么?

最佳答案

我究竟做错了什么?


对于初学者,您使用的是无效的javascript并在此行出现错误:

dateData: New Date('16-01-01 15:30')


请记住,javascript是区分大小写的语言,所以我想您可能想使用Date构造函数:

dateData: new Date('16-01-01 15:30')


还建议您使用ISO8601格式,并将其传递给构造函数:

dateData: new Date('2016-01-01T15:30')


您还可以在发送之前将其转换为字符串:

dateData: new Date('2016-01-01T15:30').toISOString()

10-06 12:23