0

我在 Javascript 中使用日期时遇到问题,在 PHP 中你使用 date("Ymd H:is") 之类的东西来检索特定的日期和时间,我怎样才能在 Javascript 中实现这一点?getMonth() 方法只返回 1 位数,我真的需要它们是 2 位数

4

5 回答 5

1

由于我对几乎所有答案都发表了评论,因此我最好发表我的建议

演示

function pad(num) { return ("0"+num).slice(-2); }

function getDisplayDate() {
  var date = new Date();
  return date.getFullYear()+
    "-"+pad(date.getMonth()+1)+
    "-"+pad(date.getDate())+
    " "+pad(date.getHours())+
    ":"+pad(date.getMinutes())+
    ":"+pad(date.getSeconds());
}    
setInterval(function() {
    document.getElementById("time").innerHTML=getDisplayDate(); 
},500);
于 2013-03-17T20:43:32.987 回答
0

这段代码是根据@mplungjan 给出的指针进行调整的——(请归功于他)另请查看他的解决方案,这是一个更好的与日期数字一起使用的解决方案。

var str = 10; // month-digit from getMonth()

function pad(val) {
     return "0" + val;
}

var month =  str < 10 ? pad(str) : str;
console.log(month);
于 2013-03-17T06:09:20.243 回答
0

为什么你在得到 <10 之前不加 0

于 2013-03-17T05:43:14.103 回答
0

尝试这个 :

function dateToYMD(date) {
var d = date.getDate();
var m = date.getMonth() + 1;
var y = date.getFullYear();
return '' + y + '-' + (m<=9 ? '0' + m : m) + '-' + (d <= 9 ? '0' + d : d) + ' ' + date.getHours() + ':' + date.getMinutes() + ':' + date.getSeconds();
}
var d = new Date();
alert(dateToYMD(d));
于 2013-03-17T05:44:44.853 回答
-2

您可以从 Date 类中获取年、分钟等。您可以使用下面的示例获得 2 位数的月份。例如

Date.prototype.getLongMonth = function() {
    var month = this.getMonth();
    if (String(month).length == 1) month = '0'.concat(month);
    return month;
}

var now = new Date();
var theDate = now.getFullYear() + '-' + now.getLongMonth() + '-' + now.getDate() + ' ' + now.getHours() + ':' + now.getMinutes() + ':' + now.getSeconds();
console.log(theDate); // result : 2013-02-17 12:41:2
于 2013-03-17T05:40:53.767 回答