由于momentJS中年份的变化导致的日期计算问题

Date calculation problem due to change of year in momentJS

我已经使用 moment.js 在我使用 daterangepicker.js 选择日期的表单字段中计算了 30 天的限制。我已禁用当前日期之前的所有日期以及从当前日期算起 30 天后的所有日期。一切正常,直到“年”国来袭(呵呵git?)。

我的日期计算使用 moment.js 工作正常,但随着年份的变化,一切都中断了。每当我将年份从 2020 年更改为 2021 年时,每个日期都会被禁用。就像我想 post 今天(2020 年 12 月 22 日)做点什么,并想在明年设定截止日期,当我更改年份时,每个日期都会被禁用。在更改年份之前,我可以看到明年的日期已启用,我可以 select 它,它工作得很好。但是每当我更改年份时,日期就会被禁用。 这是我当前计算日期限制的代码:

$('input[name="application_deadline"]').daterangepicker({

locale: {
  format: 'DD-MM-YYYY HH:mm'
},
singleDatePicker: true,
showDropdowns: true,
startDate: moment(),
endDate: moment().subtract(-29, 'days'),
minDate: moment(),
maxDate: moment().subtract(-29, 'days')
});

如果我禁用该行,我的代码在技术上可以工作: maxDate: moment().subtract(-29, 'days')

然后在当前日期之后启用每个日期,但删除我需要工作的 30 天限制。

附上更改年份前后的两张截图供参考。

您所描述的听起来像是 daterangepicker.js 中的错误。为了重现,我使用 jQuery 3.5.1.

测试了他们 website 的最新版本

很遗憾,我无法重现您所描述的内容。您是否尝试更新到最新版本 3.1?