SOFTELメモ Developer's blog

会社概要 ブログ 調査依頼 採用情報 ...
技術者募集中

【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);

関連するメモ

コメント