我无法弄清楚这一点,我正在努力实现交付的截止时间。我使用美国东部时间下午3点或UTC时间截止时间截止时间。然而,它似乎并不总是有效,并且允许用户在19 UTC之后的第二天选择。我哪里做错了?请参阅下面的代码:
$("#delivery_date").datepicker( {
minDate: minDate,
maxDate: '+3M',
beforeShow : function(){
var dateTime = new Date();
var hour = dateTime.getUTCHours()
//If Hour is greater or equals to 3PM
if(hour >= 19){
//Disable all past days including tomorrow and today
$(this).datepicker( "option", "minDate", "+2" );
}
}
答案 0 :(得分:0)
如上所述,Javascript是基于用户的日期和时区的。
如果要添加截止时间,首先必须知道时区的时间,然后将其应用于日期选择器,然后根据您的时区应用截止时间!
我建议您看看moment.js library,发现这种问题对我很有帮助。
我的TZ是奥克兰太平洋地区,但是您可以轻松地将其更改为所需的TZ。
// Jquery Datepicker
var setDate = moment.tz('Pacific/Auckland');
jQuery("#getdate").datepicker({
minDate: checkTime(), // set min date based on NZ timezone time
dateFormat: 'dd-mm-yy',
defaultDate: setDate.format('dd-mm-yy'), // get from moment above
numberOfMonths: 1,
buttonText: "Choose Date",
showButtonPanel: true
});