Moment.js 更改午夜时间重置

Moment.js change the midnight time reset

这是我当前的 moment.js 设置,效果很好!但是,maxDate 会在午夜时分发生变化(向上移动一天)。我确信这就是它应该如何工作并且它是有道理的,但我需要它在早上 8 点改变。我做了一些搜索但无济于事,也许我使用的术语不正确,但我对此不太熟悉。感谢任何帮助。

$('input[name="daterange"]').daterangepicker({
    maxSpan:{days:30},
    minDate: moment().add(1, 'days'),
    maxDate: moment().add(341, 'days'),
    startDate: moment().add(1, 'days'),
    endDate: moment().add(2, 'days'),
    autoApply: true,
    opens: 'center'
  }, function(start, end, label) {
    document.getElementById('start').value = start.format('YYYY-MM-DD');
    document.getElementById('end').value = end.format('YYYY-MM-DD');
  });

编辑:@Tim 提出了关于使用 utcOffset 的建议。我无法让它工作并找到了这个 https://github.com/Hacker0x01/react-datepicker/issues/747 。但我似乎无法让这个建议发挥作用。 提前致谢!

谢谢@Tim 的建议。我真的很感谢你的反馈。但是,在我的 daterangepicker 中添加时间并不是一个真正的选择。所以,我用 if 语句处理它并创建了一个变量。

jQuery(document).ready(function($) {

var today = new Date().getHours();
  if (today >= 0 && today < 8) {
    var maxDay = moment().add(340, 'days');
  }
  else {
    var maxDay = moment().add(341, 'days');
  }

  $('input[name="daterange"]').daterangepicker({
    autoApply: true,
    maxSpan:{days:30},
    minDate: moment().add(1, 'days'),
    maxDate: maxDay,
    startDate: moment().add(1, 'days'),
    endDate: moment().add(1, 'days'),
    opens: 'center'
  }, function(start, end, label) {
    document.getElementById('start').value = start.format('YYYY-MM-DD');
    document.getElementById('end').value = end.format('YYYY-MM-DD');
  });});