【Javascript】今日の0時0分0秒の日付計算
問題
“今(2012-09-06 09:04:30)”じゃなくて、今日(0時0分0秒)=2012-09-06 00:00:00 を、Javascriptで取得したい。
解答例
1
//今(Thu Sep 06 2012 09:04:30 GMT+0900) var _d = new Date(); //同日の0時0分0秒 var d = new Date(_d.getFullYear(), _d.getMonth(), _d.getDate(), 0, 0, 0); //できあがり(Thu Sep 06 2012 00:00:00 GMT+0900) alert(d);
2
//今(Thu Sep 06 2012 09:04:30 GMT+0900) var d = new Date(); //0時0分0.0秒にする。ミリ秒まで指定しないといけない。 d.setHours(0, 0, 0, 0); //できあがり(Thu Sep 06 2012 00:00:00 GMT+0900) alert(d);
間違い例
getYear は1900年からの差分を返してきたりするので、要注意。ブラウザによって動きが違う。
//今(Thu Sep 06 2012 09:04:30 GMT+0900) var _d = new Date(); //同日の0時0分0秒(?) var d = new Date(_d.getYear(), _d.getMonth(), _d.getDate(), 0, 0, 0); //できあがり?(Thu Sep 06 0112 00:00:00 GMT+0900 ← 112年!) alert(d);
コメント