予約フォームのカレンダーに jquery UI を使用するプラグインを使用しており、アラートを表示したいのですが、2 番目の日付が最初の日付から 7 日未満の場合、または初デートから30日以上。
だから[01.01.2012] + [02.01.2012]
うまくいかない
[01.01.2012] + [15.01.2012]
jqueryを介してこれを達成する方法はありますか?
よろしくお願いします!
予約フォームのカレンダーに jquery UI を使用するプラグインを使用しており、アラートを表示したいのですが、2 番目の日付が最初の日付から 7 日未満の場合、または初デートから30日以上。
だから[01.01.2012] + [02.01.2012]
うまくいかない
[01.01.2012] + [15.01.2012]
jqueryを介してこれを達成する方法はありますか?
よろしくお願いします!
javascipt 日付オブジェクトを使用してそれを行うことができます。最初の日付オブジェクトが Date1 で、2 番目が Date2 だとします。
var dateMin = new Date(Date.parse(Date1)); //you may not need to parse.
var dateMax = new Date(Date.parse(Date1)); //new Date(Date1) may work. Not sure
dateMin.setDate(Date1.getDate() + 7);
dateMax.setDate(Date1.getDate() + 15);
if (Date2 < dateMax && Date2 > dateMin) {
//code
} else {
//alert
}
月、年、時間などについても同じことができます。
基本的にここでの要点は、Date.parse()
両方の日付 (ミリ秒に変換) を必要とし、ミリ秒を / 1000 (秒を取得する) / 60 (分を取得する) / 1440 (日を取得する) で割る必要があるということです。
次に、それが 7 を超えているかどうかをテストして、すべて準備完了です。
$('#submit').on('click', function () {
var toDate = Date.parse($('#toDate').val()),
fromDate = Date.parse($('#fromDate').val()),
difference = toDate - fromDate;
var days = difference / 1000 / 60 / 1440;
if ( days < 7 ) {
alert('Please give at least 7 days between the dates!');
return false; // stop from submitting
}
// VALID
else {
alert('success!');
}
});