提问人:Royal Fleur 提问时间:5/28/2023 最后编辑:AnonymousRoyal Fleur 更新时间:6/1/2023 访问量:34
阻止周末和节假日/特殊日期
Block Weekends and Holidays/Special Date
问:
我目前正在使用日期选择器作为基于此处代码的交货日历
我不是编码员,对jquery知之甚少。
我想出了以下小提琴,效果还不错
但是,我希望能够阻止周末和节假日。
如何将其添加到我的日期选择器中?
此外,显示的时间似乎偏离了 1 小时,我不知道为什么
我的日期选择器代码如下
jQuery.noConflict();
jQuery(document).ready(function() {
// Jquery Datepicker
var setDate = moment.tz ('America/Los_Angeles');
jQuery("#getdate").datepicker({
minDate: checkTime(), // set min date based on LA timezone time
dateFormat: 'dd-mm-yy',
defaultDate: setDate.format('dd-mm-yy'), // get from moment above
numberOfMonths: 1,
buttonText: "Choose Date",
showButtonPanel: true
});
function checkTime(setminDate) {
var LATime;
(NZTime = function() {
LANow = moment.tz('America/Los_Angeles').format('dddd MMMM Do YYYY HH:mm:ss');
jQuery("#msg1").text('In LA it\'s currently ' + LANow);
})();
setInterval(NZTime, 1000);
var currentTime = moment.tz('America/Los_Angeles');
var extra = moment().format('YYYY-MM-DD') + ' ';
var start_time = moment(extra + '08:00'); // NZ time
var end_time = moment(extra + '18:00'); // NZ time
jQuery("#startTime").html('Start Time is: ' + start_time.format('HH:mm'));
jQuery("#endTime").html('End Time is: ' + end_time.format('HH:mm'));
if (moment(currentTime).isBetween(start_time, end_time)) {
//console.log('TRUE');
setminDate = '+0d';
jQuery("#msg").html('It\'s before the cutoff time - you can book today!');
} else {
//console.log('FALSE');
setminDate = '+1d';
jQuery("#msg").html('It\'s AFTER the cutoff time - please book for tomorrow');
}
return setminDate; // ADD RETURN STATEMENT
}
}); // end doc ready
感谢您的帮助和时间
beforeShowDay: $.datepicker.noWeekends 不起作用
答:
0赞
zabuli
6/1/2023
#1
您必须在代码中更改以下部分:
var holidays = ["2023-06-07","2023-06-14"]; //***add your holidays
jQuery("#getdate").datepicker({
minDate: checkTime(), // set min date based on LA timezone time
dateFormat: 'dd-mm-yy',
defaultDate: setDate.format('dd-mm-yy'), // get from moment above
numberOfMonths: 1,
buttonText: "Choose Date",
showButtonPanel: true,
//***add this part
beforeShowDay: function(date){
var datestring = jQuery.datepicker.formatDate('yy-mm-dd', date);
var day = date.getDay();
return [ holidays.indexOf(datestring) == -1 && day != 0 && day != 6 ]
}
//***
});
此外,显示的时间似乎偏离了 1 小时,我不知道为什么 -> 对不起,我不明白你的意思,也许你能展示截图吗?我只在小提琴中看到这些时间,它们看起来符合预期:
评论