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”を返します。
月と日までで日付比較したい場合に使えるかと思います。

コメント