IDが「dtpicker」の日付ピッカーがあります。
選択した日付が現在の日(今日)から5営業日以内の場合、ユーザーにアラートポップアップが表示されることを確認する必要があります。
私はほとんど機能する解決策を持っています:
function DateRule()
{
var dt = new Date();
dt.setDate(dt.getDate() + 5);
var date = dt.toISOString().substring(0, 10);
userdatepick = NWF$("#" + datepicker).val();
if (userdatepick < date)
{
alert("Reminder: you have selected a startdate that is earlier then five workingdays from todays date")
}
}
今日の日付でこれをテストしましたが、2010-10-18〜2010-10-22の間に日付ピッカーで日付を選択するとほぼ同じように機能します。正しいアラートリマインダーが表示されます。2010-10-23を選択すると、リマインダーアラートが表示されませんが、週末の日から稼働していないはずです。2010-10-25は思い出させる考えを与えるべきではありません。
解決策は、現在の日付(今日)に5日を追加するときに、週末を無視することです。たとえば、変数に5日を追加すると、週末の日を飛び越えますか?
ヘルプやヒントをいただければ幸いです
以下のようなものを検証できます。
function validateDate(txtDate) {
var selectedDate = new Date(txtDate),
date = new Date(),
days = 5;
while (days > 0 && (date = new Date(date)) < selectedDate) {
date = date.setDate(date.getDate() + 1);
if (!isWeekend(date)) {
days -= 1;
}
}
if (days !== 0) {
console.log("Reminder: you have selected a startdate that is earlier then five workingdays from todays date");
}
}
var isWeekend = function(date) {
var dt = new Date(date);
if (dt.getDay() == 6 || dt.getDay() == 0 /* check here for holidays */) {
return true;
}
return false;
}
validateDate("Oct 23, 2016");
この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。
侵害の場合は、連絡してください[email protected]
コメントを追加