无法使用javascript获取当前日期时间

时间:2012-12-31 07:28:17

标签: javascript datetime

var now = new Date();
var dateString = now.getMonth() + "-" + now.getDate() + "-" + now.getFullYear() + " "
+ now.getHours() + ":" + now.getMinutes() + ":" + now.getSeconds();

这里月份没有正确显示。

示例如果输出是12月它打印11月

now.getMonth() +1会显示正确的月份。

我正在寻找更好的方法。

我的应用程序必须在两个单选按钮之间进行选择。第一个选项应返回当前系统日期和时间以及从jsp中选择的其他返回日期和时间。 在选择两个选项中的任何一个时,它应该以特定格式将日期返回给控制器。

3 个答案:

答案 0 :(得分:4)

根据定义,

getMonth()将月份从0返回到11。

如果您不习惯,可以更改Date对象的原型:

Date.prototype.getFixedMonth = function(){
    return this.getMonth() + 1;
}

new Date().getFixedMonth(); //returns 12 (December)
new Date("January 1 2012").getFixedMonth //returns 1 (January)

但不建议这样做。


另一种方法

如果您愿意,也可以这样做:

Date.prototype._getMonth = Date.prototype.getMonth;
Date.prototype.getMonth = function(){       //override the original function
    return this._getMonth() + 1;
}

new Date().getMonth(); //returns 12 (December)
new Date("January 1 2012").getMonth //returns 1 (January)

答案 1 :(得分:2)

getMonth()应该将月份作为索引从0返回到11(0表示1月,11表示12月)。所以,你得到的是预期的回报值。

答案 2 :(得分:2)

这是功能

 function GetTime_RightNow() {
        var currentTime = new Date()
        var month = currentTime.getMonth() + 1
        var day = currentTime.getDate()
        var year = currentTime.getFullYear()
        alert(month + "/" + day + "/" + year)
    }