我有一个MVC动作方法,它将DateTime作为参数。此操作从Javascript调用。
我无法通过时间识别日期。我使用不变的格式,例如escape(“2011/09/22 12:00:00”)但该值未在操作中受到约束。
如果我只提供日期部分,例如escape(“2011/09/22”),运行正常,但带时间的值也应该是正确的格式,但它不受模型绑定器的约束......
答案 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")