3

我使用这个 datetimepicker:
http
://eonasdan.github.io/bootstrap-datetimepicker/Options/ 基本上我想设置maxDate: moment(),即 maxDate 应该限制在现在。问题是在打开日期选择器时 maxDate 不再是 now() 了。每次显示日期选择器时,我都想将其 maxDate 设置为现在。

如果可能的话,我想在全球范围内强制执行它,而不是在每个datetimepicker()实例上都指定它。是否有可能使用 moment.js 以某种方式给出现在的相对日期?

看到这个小提琴:
https
: //jsfiddle.net/0Ltv25o8/3281/ 我将 maxDate 设置为现在。您会在页面加载后的一分钟后看到,您将无法使用箭头按钮选择当前分钟。

4

3 回答 3

6

使用自定义版本的 datepicker 插件怎么样?

我添加了新参数maxDateNow(有什么更好的名字的想法吗?),允许选择日期/时间到当前时间。

$('#datetimepicker1').datetimepicker({maxDateNow: true, format:'DD/MM/YYYY HH:mm'});

看到这个小提琴

于 2016-08-30T09:13:35.833 回答
2

您可以收听事件,以便每次选择器显示时都dp.show可以更改为当前时间。maxDate这是一个代码示例:

$('#datetimepicker1').datetimepicker({
  maxDate: moment(), 
  format:'DD/MM/YYYY HH:mm'
}).on('dp.show', function(){
  $('#datetimepicker1').data("DateTimePicker").maxDate(moment());
});
<link href="//cdnjs.cloudflare.com/ajax/libs/twitter-bootstrap/3.3.6/css/bootstrap.css" rel="stylesheet"/>
<link href="//cdnjs.cloudflare.com/ajax/libs/bootstrap-datetimepicker/4.17.37/css/bootstrap-datetimepicker.css" rel="stylesheet"/>

<script src="//cdnjs.cloudflare.com/ajax/libs/jquery/2.1.3/jquery.js"></script>
<script src="//cdnjs.cloudflare.com/ajax/libs/moment.js/2.13.0/moment.min.js"></script>
<script src="//cdnjs.cloudflare.com/ajax/libs/twitter-bootstrap/3.3.6/js/bootstrap.js"></script>
<script src="//cdnjs.cloudflare.com/ajax/libs/bootstrap-datetimepicker/4.17.37/js/bootstrap-datetimepicker.min.js"></script>

<div class="form-group">
  <div class="input-group date" id="datetimepicker1">
    <input type="text" class="form-control" />
    <span class="input-group-addon"><span class="glyphicon-calendar glyphicon"></span></span>
  </div>
</div>

于 2016-08-20T17:39:49.770 回答
0

我用了喜欢这个,它将最小日期设置为今天的日期

 $( '#Field_ID' ).datepicker({dateFormat: 'dd-MM-yy', minDate : new Date()});
于 2018-09-06T03:30:55.000 回答