2016-04-11 6 views
0

これは簡単なことです。JavascriptのDateオブジェクト - JSFiddleの別の値

JSFiddle(new Date(1451606399999))で次のコードを実行すると2015-11-04が表示されますが、ブラウザのコンソールで同じコードを実行すると、2015-12-31値は、私は)期待しています。

私はどちらかの場合には、タイムゾーンコードがクライアント上で実行されている、そしてなぜ日付の月差以上のものを作るのタイムゾーンのと同じだろういずれかを思っただろう?

紛らわしい
function test() 
{ 
    var date = new Date(1451606399999); 
    var year = date.getFullYear(); 
    var month = date.getMonth(); 
    var day = date.getDay(); 
    var hours = date.getHours(); 
    var minutes = "0" + date.getMinutes(); 
    var seconds = "0" + date.getSeconds(); 

    var formattedTime = year + '-' + month + '-' + day + ' ' + hours + ':' + minutes.substr(-2) + ':' + seconds.substr(-2); 

    document.getElementById("myDiv").innerHTML = formattedTime; 
} 

JSFiddle with code

+0

月をゼロベースに理にかなって12月 – Mike

答えて

2

date.getMonth()は0ベースで、0は1月なので、month = date.getMonth()+1である必要があります。また、実際に曜日(0は日曜日、1は月曜日...など)を返すので、紛らわしいのですがdate.getDay()あなたが探している機能は、date.getDate()

function test(){ 
    var date = new Date(1451606399999); 
    var year = date.getFullYear(); 
    var month = date.getMonth()+1; 
    var day = date.getDate(); 
    var hours = date.getHours(); 
    var minutes = "0" + date.getMinutes(); 
    var seconds = "0" + date.getSeconds(); 

    var formattedTime = year + '-' + month + '-' + day + ' ' + hours + ':' + minutes.substr(-2) + ':' + seconds.substr(-2); 
    console.log(date); 
    document.getElementById("myDiv").innerHTML = formattedTime; 
} 
+0

11 =です。私が推測する定義をチェックするのに時間がかかりました。答えをありがとう – msteel9999

関連する問題