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