Javascript Jquery Timepicker-将时间从当前时间安排为6小时
我使用了jquery时间选择器,如下所示 下面是我的代码:Javascript Jquery Timepicker-将时间从当前时间安排为6小时,javascript,timepicker,Javascript,Timepicker,我使用了jquery时间选择器,如下所示 下面是我的代码: $('#timePicker').timepicker({ 'step': 15, 'forceRoundTime': true, 'timeFormat': 'H:i' }); $('#timePicker').timepicker('setTime', new Date(new Date().getTime()+6*3600*1000)); 我的问题是,我比当前时间提前了6小时,但我还需要禁用上一次 例如
$('#timePicker').timepicker({
'step': 15,
'forceRoundTime': true,
'timeFormat': 'H:i'
});
$('#timePicker').timepicker('setTime', new Date(new Date().getTime()+6*3600*1000));
我的问题是,我比当前时间提前了6小时,但我还需要禁用上一次
例如:
如果当前日期时间为2016年4月4日上午11:50,则时间选择器应显示2016年4月4日下午17:50,如果日期不是今天,则时间选择器应允许所有时间进行选择
请告诉我应该在代码中做哪些更改?最好的方法是始终调用onHourShow函数并验证该函数中选定的日期。我认为这样更好,因为禁用的时间对用户来说仍然可见,而不是空白单元格 以下是一个工作示例: 根据,您可以使用DisableTimeRanges禁用以前的时间
function formatAMPM(date) {
var hours = date.getHours();
var minutes = date.getMinutes();
var ampm = hours >= 12 ? 'pm' : 'am';
hours = hours % 12;
hours = hours ? hours : 12; // the hour '0' should be '12'
minutes = minutes < 10 ? '0'+minutes : minutes;
var strTime = hours + ':' + minutes + '' + ampm;
return strTime;
}
time_plus_6 = new Date(new Date().getTime()+6*3600*1000);
$('#timePicker').timepicker({
'step': 15,
'forceRoundTime': true,
'timeFormat': 'H:i',
'disableTimeRanges': [
[0, formatAMPM(time_plus_6)]
]
});
$('#timePicker').timepicker('setTime', time_plus_6);
工作我想你想要的是 var min=新日期, strMin=$.datepicker.formatDatemm/dd/yy,最小值; 最小设置小时最小设置小时+6; $'datePicker'.datePicker{ minDate:min, onSelect:functionv{ console.logv==strMin?formatTimemin:'12:00am' $'timePicker'。timePicker'option','minTime',v==strMin?formatTimemin:'12:00am'; } }.datepicker'setDate',min; $'timePicker'。timePicker{ “步骤”:15, “forceRoundTime”:对, “时间格式”:“H:i”, “minTime”:formatTimemin }; $'timePicker'。timePicker'setTime',min; 函数formatTimedt{ 返回dt.getHours+':'+'0'+dt.getMinutes.slice-2+dt.getHours>=12?'pm':'am' }
你们有单独的日期选择器吗?我需要日期选择器和时间选择器separate@TanmayMhatre看看我的答案,这可能对你有帮助。?谢谢@Arun P Johny,你的小提琴正是我想要的。我想他是在引用jquery.ui datetime pickerthanks而不是jquery.ui datetime pickerthanks提供的解决方案,但是我们可以在计时器中使用IST而不是系统时间吗?因为系统时间可以随时更改,并且可以进行预订done@DhawalMhatre在这种情况下,当前时间必须从服务器传递到客户端,但根据服务器位置,服务器时间可以是美国或英国。在您的代码中,当前日期的时间间隔不能四舍五入到15分钟。。请继续提问question@DhawalMhatre时区转换可以在服务器端完成
function formatAMPM(date) {
var hours = date.getHours();
var minutes = date.getMinutes();
var ampm = hours >= 12 ? 'pm' : 'am';
hours = hours % 12;
hours = hours ? hours : 12; // the hour '0' should be '12'
minutes = minutes < 10 ? '0'+minutes : minutes;
var strTime = hours + ':' + minutes + '' + ampm;
return strTime;
}
time_plus_6 = new Date(new Date().getTime()+6*3600*1000);
$('#timePicker').timepicker({
'step': 15,
'forceRoundTime': true,
'timeFormat': 'H:i',
'disableTimeRanges': [
[0, formatAMPM(time_plus_6)]
]
});
$('#timePicker').timepicker('setTime', time_plus_6);