Javascript Dijit/form/DateTextBox不';我不喜欢2033年以后

Javascript Dijit/form/DateTextBox不';我不喜欢2033年以后,javascript,dojo,year2038,Javascript,Dojo,Year2038,我正在尝试创建一个接受mm/yy的文本框。出于某种原因,这不喜欢2032年以后的日期。有人能告诉我为什么不行,解决办法是什么吗 更新:问题似乎是严格意义上的两位数年份问题 <input type="text" class="miniTextBox" id="${id}_Date" name="${id}_Date" maxlength="5" data-dojo-attach-point="indate" data-dojo-type="dijit/form/DateTextBox"

我正在尝试创建一个接受mm/yy的文本框。出于某种原因,这不喜欢2032年以后的日期。有人能告诉我为什么不行,解决办法是什么吗

更新:问题似乎是严格意义上的两位数年份问题

<input type="text" class="miniTextBox" id="${id}_Date" name="${id}_Date" maxlength="5"
 data-dojo-attach-point="indate"
 data-dojo-type="dijit/form/DateTextBox"  
 data-dojo-props="constraints:{fullYear: false, datePattern: 'MM/yy', max: '2099-12-31'},
 popupClass: 'dojox.widget.MonthAndYearlyCalendar'" 
 promptMessage="Example: 10/14" />

如果有任何不同,以下信息可能会有所帮助:

  • 使用Dojo1.8
  • 这是小部件模板的一部分
  • 此小部件上有一个后创建修改,用于将全年约束设置为false
  • 它不使用标准的弹出式日历,无论是通过弹出式日历还是从文本框输入日期,都无关紧要
  • 问题似乎严格地说是一个2位数的年份格式问题——当日期格式更改为MM/yyyy且fullYear为true时,它可以正常工作

如果有人还在疑惑,这是预期的行为。看

当使用两位数的年份时,对于yy和yyyy模式,根据当前年份之前80年和之后20年的滑动窗口选择一个世纪


2013年,2033年就在这个窗口之外,33年被解释为1933年。

我试过,但没有发现问题。您的浏览器区域设置是什么?en-GMT+1:00我认为问题可能在于您的小部件没有将日期设置为2位数的年份表示法-我明天将修改您的JSFIDLE以更好地演示此问题。我很感谢您访问了一个我忘记的问题:)。当时我在一家金融机构工作,可能只想要那个特定日期选择器实例的未来日期。