JavaScriptで日付の比較をする

JavaScriptで日付の比較をするにはDateオブジェクトで大小比較するだけで求めることができます。但し

var today = new Date();

とすると現在日付を取得します。すると時分秒ミリ秒も取得された現在時間になってしまいます。

var today = new Date(2015,9,25);

とすると、時分秒ミリ秒は0になります。

new Date()する時、もしくは引数に時分秒ミリ秒を設定している時だけ、時分秒ミリ秒を0にしてから比較するようにする必要があります。

today.setHours(0);
today.setMinutes(0);
today.setSeconds(0);
today.setMilliseconds(0);

日付を比較する例です。

<!DOCTYPE html>
<html>
<head>
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<title></title>
<meta charset="utf-8">
<meta name="description" content="">
<meta name="author" content="">
<meta name="viewport" content="width=device-width, initial-scale=1">
<link rel="stylesheet" href="">
<link rel="shortcut icon" href="">
<script type="text/javascript">
function test(){
var date1 = new Date(2015,9,15);
var date2 = new Date(2015,9,16,10,10,10,10);

date1.setHours(0);
date1.setMinutes(0);
date1.setSeconds(0);
date1.setMilliseconds(0);

date2.setHours(0);
date2.setMinutes(0);
date2.setSeconds(0);
date2.setMilliseconds(0);

if(date1<date2){
alert(date2);
}
}
</script>
</head>
<body>
<input type="button" value="日付比較" onClick="test();">
</body>
</html>

デモです。

スポンサーリンク
  • このエントリーをはてなブックマークに追加
スポンサーリンク

コメントをどうぞ

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

CAPTCHA