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

问题描述

我已使用 moment.js 计算表单字段中的 30 天限制,我已使用 daterangepicker.js 选择日期。我已禁用从当前日期算起的所有先前日期以及从当前日期算起 30 天后的所有日期。一切正常,直到“年份”国家遭到袭击(嘿嘿嘿?)。

我的日期计算使用 moment.js 工作正常,但随着年份的变化,一切都中断了。每当我将年份从 2020 年更改为 2021 年时,每个日期都会被禁用。就像我想今天(22/12/2020)发布一些东西并想设置明年的截止日期一样,当我更改年份时,每个日期都会被禁用。在更改年份之前,我可以看到启用的明年的日期,我可以选择它,它像这样工作正常。但是每当我更改年份日期时就会被禁用。 这是我当前计算日期限制的代码

$('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 天限制。

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

Before changing the year

After changing the year

解决方法

您所描述的听起来像是 daterangepicker.js 中的一个错误。为了重现,我使用 jQuery 3.5.1 测试了他们 website 的最新版本。

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

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...