今回はJavaScriptで日時の比較をおこなう方法を紹介する。
以下は実際仕事で使ったコードの一部で、現在時刻が当日13時より前の場合と後の場合で処理を分ける例だ。
var now = new Date();
var limitStr = now.getFullYear()+'/'+(now.getMonth()+1)+'/'+now.getDate()+' 13:00:00';
var limit = Date.parse(limitStr);
if(now.getTime() <= limit) {
// 現在時刻が指定時刻より前の場合
} else {
// 現在時刻が指定時刻より後の場合
}
日時の比較は、1970-01-01 00:00:00 UTCからの経過時間で比較するのがシンプルで良い。
上記の経過時間はDate
クラスのgetTime()
メソッドで求めることができ、現在時刻はnew Date()
から求めることができる。
比較対象となる時刻は3行目、一度変数に日時形式の文字列を保存し、Date.parse()
の引数として渡すことで、経過時間を求めることができる。
これらの値を比較することで、簡単に日時を比較しての条件分岐を実装することができる。