Bootstrap datepicker - 以UTC时间而不是本地时间设置maxDate

时间:2016-09-12 12:18:02

标签: eonasdan-datetimepicker

我正在使用 eonasdan bootstrap-datetimepicker 。我正在尝试以UTC时间(包括小时)工作,但 maxDate似乎是指当地时间

示例将是将时间限制为UTC时间上午10:00。我希望datetimepicker允许时间修改但不超过UTC时间上午10:00。因为我是+3时区,所以我可以一直到下午13:00。

这是小提琴:http://jsfiddle.net/vvtwq0xm/1/

var dateUTCtime = new Date().toISOString();
alert('UTC time = ' + dateUTCtime);

var opts = {
    format: "DD-MMM-YYYY HH:mm",
    stepping: 5,
    maxDate: dateUTCtime,
    useCurrent: true,
    sideBySide: false,
    showTodayButton: true,
    widgetPositioning: {
        'vertical': 'bottom'
    }
};

$('#datetimepicker1').datetimepicker();

我的日期是UTC,但maxTime似乎不尊重UTC的时间(小时)。它允许我直到当前的当地时间

无论如何让它在UTC上运行?

ps:我添加了一些解释以便更好地理解。我对尊重UTC日期和时间(小时)感兴趣。

1 个答案:

答案 0 :(得分:0)

在版本4.17.37中添加了时区集成(请参阅changelog),而您在小提琴中使用了datetimepicker的版本4.14.30

要将选择器与UTC一起使用,请在导入中添加moment-timezone,并使用moment.utc()设置maxDate

这是一个工作示例(使用最新的选择器版本:4.17.42):

var opts = {
  format: "DD-MMM-YYYY HH:mm",
  stepping: 5,
  maxDate: moment.utc(),
  useCurrent: true,
  sideBySide: false,
  showTodayButton: true,
  widgetPositioning: {
    'vertical': 'bottom'
  }
};

$('#datetimepicker1').datetimepicker(opts);
<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.42/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.14.1/moment.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/moment-timezone/0.5.5/moment-timezone-with-data-2010-2020.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.42/js/bootstrap-datetimepicker.min.js"></script>

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