在我的应用中,用户可以从6:00 AM到8:00 PM进行约会。我正在使用timepicker来做到这一点。我正在设置minTime: 6:00 AM
和maxTime : 8:00 PM
。这可行,但是当用户当前时间在6AM到7PM之间时,我实际上想将minTime增加1小时。如果是6:01 AM,则用户应该不能选择6AM,而应建议使用7AM。在7:01 PM,剩下的唯一选择时间应该是8PM。
//current date
var dateToday = new Date();
//get time in US format
//console.log(dateToday.toLocaleTimeString('en-US'));
var timeNow = dateToday.toLocaleTimeString('en-US');
// expected output: 1:15:30 AM
//get time in 12H format
//console.log(dateToday.toLocaleTimeString('it-IT'));
// expected output: 01:15:30
if(timeNow > '6:00:00 AM'&& timeNow < '8:00:00 PM'){
var minTime = timeNow + 1:00:00;
}else{
var mintime = '6:00am';
}
//time picker
$(function () {
$('.timepicker').timepicker({
timeFormat: 'h:mm p',
interval: 60,
minTime: minTime,
maxTime: '8:00pm',
dynamic: false,
dropdown: true,
scrollbar: true
});
});
为我工作。
//date picker
var dateToday = new Date();
//get time in US format
//console.log(dateToday.toLocaleTimeString('en-US'));
var timeNow = dateToday.toLocaleTimeString('en-US');
// expected output: 1:15:30 AM
//get time in 12H format
//console.log(dateToday.toLocaleTimeString('it-IT'));
// expected output: 01:15:30
if(timeNow > '4:00:00 AM'&& timeNow < '8:00:00 PM'){
//add two hours
var dtndate = new Date();
dtndate.setHours(dtndate.getHours() + 2);
var minTime = dtndate.toLocaleTimeString('en-US');
}else{
var minTime = '6:00am';
}
//time picker
$(function () {
$('.timepicker').timepicker({
timeFormat: 'h:mm p',
interval: 60,
minTime: minTime,
maxTime: '8:00pm',
dynamic: false,
dropdown: true,
scrollbar: true
});
});
使用new Date().getHours()
获取小时。您不能使用<
和>
来字符串
var today = new Date();
var hr = today.getHours();
var min = today.getMinutes();
var time = hr > 12 ? "pm" : "am"
if(hr > 6 && hr < 8) {
minTime = hr + 1;
}
else {
minTime = hr
}
minTime = `${minTime}:${min}${time}`
//time picker
$(function () {
$('.timepicker').timepicker({
timeFormat: 'h:mm p',
interval: 60,
minTime: minTime,
maxTime: '8:00pm',
dynamic: false,
dropdown: true,
scrollbar: true
});