我正在使用 Bootstrap Datepicker,并且根据日期选择,我需要向用户显示一条消息。
我从未使用过 Date Constructor之前所以这对我来说很新。
我需要做的是以下内容;
- 允许用户选择日期
- 根据以下逻辑显示消息/警报
如果他们选择的日期是在今天的过去 6 个月内,他们就可以享受折扣。 如果他们选择的日期不在今天的过去 6 个月内,则不会。
尽管它无法正常工作,但已创建了 fiddle here 。
如有任何帮助,我们将不胜感激。代码也在下面;
HTML
<input type="text" class="form-control" id="datepicker" placeholder="Year Graduated" value="" data-date-format="dd/mm/yyyy">
<p id="rate"></p>
JS
function compareDate() {
// get date from datepicker
var dateEntered = $("#datepicker").datepicker("getDate");
dateEntered = new Date(dateEntered).getTime();
//alert("date entered: " + dateEntered);
// set todays date
var now = new Date();
// set date six months before today
var sixMonthBeforeNow = new Date(now).setTime(now.getTime() - 3 * 28 * 24 * 60 * 60);
//alert("six months before: " + sixMonthBeforeNow);
// if date entered is within six months from today
if (dateEntered > sixMonthBeforeNow) {
alert("You qualify for the discount rate.");
$("#rate").html('discount rate');
}
// if date entered is over six months from today
if (dateEntered < sixMonthBeforeNow) {
alert("you graduated more than six months ago");
$("#rate").html('no discount');
}
}
$("#datepicker").datepicker({
weekStart: 1,
daysOfWeekHighlighted: "6,0",
autoclose: true,
todayHighlight: true
});
$("#datepicker").change(function() {
compareDate();
});
注意:我不想使用任何其他第三方 JS 库/插件。
最佳答案
只需使用以下代码更改您的 sixMonthBeforeNow
即可。
var sixMonthBeforeNow = new Date(now).setMonth(now.getMonth() - 6);
关于javascript - JS 检查日期距今天不超过 6 个月,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50472061/