从现在开始的datetimepicker,但从x时间开始的第二天

时间:2019-01-17 16:47:08

标签: jquery datetimepicker

当用户选择显示过去时间的时间时,请说正确知道是上午10点,但不应在上午10点(现在)以下显示任何时间,但是,如果用户选择第二天或第二天的其他时间,则开始时间应为上午8点直到晚上8点,这是过程。
用户选择以下格式的日期:2019-01-17,现在基于该日期,我们显示ajax信息,并且用户现在可以基于该信息选择时间。
这是整个辣酱玉米饼馅开始的地方...此时间必须基于当前时间(所选日期为当前时间),该时间只能显示当前时间加上一个小时,例如现在是上午10点,那么您可以选择的时间为11,12,13,14 ...等
但是,如果您从当天选择其他日期,那么您可以选择的时间从上午9点到晚上8点...
目前我只有这个:

$(_TimeSelector).datetimepicker({
    lang      : 'en',
    datepicker: false,
    format    : 'H:s',
    allowTimes:[
    '09:00', '10:00', '11:00', '12:00', '13:00', '14:00', '15:00', '16:00', '17:00', '18:00', '19:00'
    ],
    minDate:0
});

还有一个问题,我不知道如何根据所选日期为allowTimes构建数组... 任何指导将不胜感激。

1 个答案:

答案 0 :(得分:0)

尝试一下。

    
   var times = [ '09:00','10:00', '11:00', '12:00', '13:00', '14:00', '15:00', '16:00', '17:00', '18:00', '19:00'];
   
 jQuery('#datetimepicker').datetimepicker({
  format:'Y/m/d H:i',  
  allowTimes:times,
  
   onSelectDate:function(dp){
        var date = new Date().dateFormat('Y/m/d');
  	if( dp.dateFormat('Y/m/d')==date ){
  	 var timeNow =dp.dateFormat('H:i');
    	 var new_times = times.filter(function(x) {
   		 return x > timeNow ;
				});
         this.setOptions({
         allowTimes:new_times
          });
         }
       else{
        this.setOptions({
         allowTimes:times
        });
    }

  }
 });
.dt{
  margin-top:200px;
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<input class="dt" type="text" id="datetimepicker"/>
 
 <script src="https://cdnjs.cloudflare.com/ajax/libs/jqueryui/1.11.4/jquery-ui.js"></script> 
 <link href="https://cdnjs.cloudflare.com/ajax/libs/twitter-bootstrap/4.0.0-alpha/css/bootstrap.css" rel="stylesheet">
 <link rel="stylesheet" type="text/css" href="https://www.jqueryscript.net/demo/Clean-jQuery-Date-Time-Picker-Plugin-datetimepicker/jquery.datetimepicker.css"/>
 <script src="https://www.jqueryscript.net/demo/Clean-jQuery-Date-Time-Picker-Plugin-datetimepicker/jquery.datetimepicker.js"></script>