2016-03-30 5 views
5

私の目は私を欺いているに違いないが、setMonth(1)に電話すると、その日付のオブジェクトの日付が2月であってはなりませんか?何も2016年2月30日月を変更するとJavaScriptの日付が間違って見える

はありませんので、したがって、日付プロセッサが正しく3月1日に日付を変更

+0

アダム - このコードは今日(すべての日のうち)のみ失敗します。代わりに、あなたの投稿を更新して、今日は2016年3月30日と言い、その後、結果。 – Neal

+0

ファジーの日付の上にマウスを置くと、投稿が行われた正確な時刻を見ることができます。 – alex

+0

javascriptの日付検証に関するこの2つのトピックは参考になります:http://stackoverflow.com/questions/6177975/how-to-validate-date-with-format-mm-dd-yyyy-in-javascript and http:// stackoverflow.com/questions/1353684/detecting-an-invalid-date-date-instance-in-javascript?lq=1 –

答えて

10

:中

x = new Date(); 
y = new Date(); 
x.setMonth(1); 

document.write(x.toString() + '<br>' + y.toString()); 

結果(今日は2016年3月30日です) 、2016

+0

[これの仕様]を見てください(http://www.ecma-international.org/ ecma-262/6.0 /#sec-makeday)_ "7。そのような値を見つけてください..." _ - むしろあいまいです:) –

+0

うん?あなたは@JamesThorpeって何を意味しますか? – Neal

+0

この値を見つける方法を指定しません。これは通常、このようなアルゴリズムに特化しています。ちょうど、次のステップが非常に具体的なときには特にうまくいかないように見えました。_「Return Day(t)+ dt-1」_。 –

関連する問題