.Net DateTime格式无法识别为参数 - 从Javascript调用

时间:2011-02-08 22:37:15

标签: .net asp.net-mvc model-view-controller datetime model-binding

我有一个MVC动作方法,它将DateTime作为参数。此操作从Javascript调用。

我无法通过时间识别日期。我使用不变的格式,例如escape(“2011/09/22 12:00:00”)但该值未在操作中受到约束。

如果我只提供日期部分,例如escape(“2011/09/22”),运行正常,但带时间的值也应该是正确的格式,但它不受模型绑定器的约束......

3 个答案:

答案 0 :(得分:1)

我在将日期发送到asp.net webservice时遇到了问题;花了一些时间来找出所需的格式。但是一旦我发现它我有足够的信息来创建一个小的stringify-type js函数:

dateToString = function (d) {
        function _zeroPad(v) {
            return v < 10 ? '0' + v : v;
        }
                return d.getUTCFullYear()           + '-' +
              _zeroPad(d.getUTCMonth() + 1) + '-' +
              _zeroPad(d.getUTCDate())      + 'T' +
              _zeroPad(d.getUTCHours())     + ':' +
              _zeroPad(d.getUTCMinutes())   + ':' +
              _zeroPad(d.getUTCSeconds())   + 'Z';
};

答案 1 :(得分:1)

我找到了一个适合我的解决方案(并且可能以与Sean的答案类似的格式生成日期)......

我只是在Javascript中创建一个日期,并将其作为Ajax请求的一部分发布为数据

E.g。

var d = new Date("2011/09/22 12:00:00");

发布了一个日期格式为

的帖子
  

2011-09-22T02:00:00.000Z

被MVC的模型绑定所接受。由于时间格式(我在澳大利亚),小时不同

答案 2 :(得分:0)

 escape("2011-09-22 12:00:00")