我需要将日期对象转换为SQL Server将理解的字符串。这就是我到目前为止所做的:
(function() {
Date.prototype.MMDDYYYY = function() {
var month, day, year;
month = String(this.getMonth() + 1);
if (month.length === 1) {
month = "0" + month;
}
day = String(this.getDate());
if (day.length === 1) {
day = "0" + day;
}
year = String(this.getFullYear());
return month + '/' + day + '/' + year;
}
})();
(function() {
Date.prototype.HHMMSS = function() {
var hour, minute, second;
hour = String(this.getHours());
minute = String(this.getMinutes());
second = String(this.getSeconds());
return '' + hour + ':' + minute + ':' + second;
}
})();
function DateTimeFormat(objDate) {
return objDate.MMDDYYYY() + ' ' + objDate.HHMMSS();
}
我得到的错误是: 对象星期二1月29日...(东部标准时间)没有方法MMDDYYYY。
这可能很明显,但我不明白如何制作原型。 使用jQuery是可以接受的。
答案 0 :(得分:2)
我认为问题不在于范围,而是如何创建objDate!我做了几次尝试,当objDate是一个String时出现错误。因此,这段代码按预期工作,问题是传递给DateTimeFormat的参数:我认为它是像objDate = Date()
而不是objDate = new Date()
创建的。后者将正确创建Date对象,而不是以String格式返回日期。
答案 1 :(得分:1)
问题是您将字符串传递给函数DateTimeFormat
。
您可以通过添加此...
来确保它是日期对象objDate = new Date(objDate)