Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/database/10.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript Jquery Timepicker-将时间从当前时间安排为6小时_Javascript_Timepicker - Fatal编程技术网

Javascript Jquery Timepicker-将时间从当前时间安排为6小时

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小时,但我还需要禁用上一次 例如

我使用了jquery时间选择器,如下所示

下面是我的代码:

$('#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);