1

我正在使用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 日期和时间(小时)。

4

1 回答 1

0

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

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

这是一个工作示例(使用最新的选择器版本:)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>

于 2016-09-12T23:08:05.827 回答