由于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?
我已经使用 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?