Javascriptで日付のみ比較
Javascriptで日付のみ(年、月、日)で比較するメソッドの例です。
Javascriptで日付を比較するためにはgetMonth()やgetDate()などを使って比較演算子で大小を判断する必要があります。
デフォルトで比較するメソッド等は用意されていないため、独自に実装する必要があります。
日付のみで比較するコード例は下記です。
// date1を基準として新しい日付か古い日付かを返す function compareDate(date1, date2){ var year1 = date1.getFullYear(); var month1 = date1.getMonth() + 1; var day1 = date1.getDate(); var year2 = date2.getFullYear(); var month2= date2.getMonth() + 1; var day2 = date2.getDate(); if (year1 === year2) { if (month1 === month2) { if(day1 === day2) { return 'same' }else{ if(day1 > day2){ return 'newer' }else{ return 'older' } } } else { if(month1 > month2){ return 'newer' }else{ return 'older' } } } else { if(year1 > year2){ return 'newer' }else{ return 'older' } } }
かなり冗長なコードになってしコードになってしまっていますが、とりあえずコピペで使えるかと思います。
date1, date2にはDate型の日付を渡し、date1がdate2より新しい日付か古い日付かを返します。同じ場合は”same”を返します。
月と日までで日付比較したい場合に使えるかと思います。
コメント