0

Javascriptでdateを使用するのに問題があります。PHPでは、date( "Ymd H:i s")のようなものを使用して特定の日付と時刻を取得しますが、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

<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 に答える
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 に答える
-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 に答える