日期范围选取器显示不正确的时间

时间:2016-02-04 07:00:04

标签: jquery momentjs daterangepicker

我正在使用具有一些预定义范围的插件Date Range Picker plugin。我有一些问题要显示正确的时间。

我的期望:

说它是January 28, 2016 17:00 pm。当我选择最后30分钟时,它会显示January 28, 2016 16:30 pm - January 28, 2016 17:00 pm。这是对的。

但是,如果是January 28, 2016 17:05 pm(5分钟后),我会选择Last 5 minutes,我希望它能为我提供范围January 28, 2016 17:00 pm - January 28, 2016 17:05 pm。< / p>

我得到了什么

January 28, 2016 16:55 pm - January 28, 2016 17:00 am

如您所见,它是根据我加载页面的时间而不是当前时间来计算日期差异。我怎样才能达到我想要的效果?

这里有a fiddle供你玩。

1 个答案:

答案 0 :(得分:2)

检查回调中单击范围的名称,并计算其中的时间。

function cb (start, end, label) {
  if (label == 'Last 30 minutes') {
      start = moment().subtract(30, 'minutes');
      end = moment();
  }
  $('#reportrange span').html(start.format('MMMM D, YYYY h:mm a') + ' - ' + end.format('MMMM D, YYYY h:mm a'));
}