将日期对象转换为日期字符串

时间:2013-01-29 17:01:47

标签: javascript jquery date

我需要将日期对象转换为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是可以接受的。

2 个答案:

答案 0 :(得分:2)

我认为问题不在于范围,而是如何创建objDate!我做了几次尝试,当objDate是一个String时出现错误。因此,这段代码按预期工作,问题是传递给DateTimeFormat的参数:我认为它是像objDate = Date()而不是objDate = new Date()创建的。后者将正确创建Date对象,而不是以String格式返回日期。

答案 1 :(得分:1)

问题是您将字符串传递给函数DateTimeFormat

您可以通过添加此...

来确保它是日期对象
objDate = new Date(objDate)