如何在flex中创建DateField,这将禁用今天当前日期之前的所有日期。
<mx:DateField id="dateField2" yearNavigationEnabled="true"
disabledRanges="{[ {rangeEnd: new Date(dateBeforeCurrentDate} ]}" color="0x000000"/>
我知道我必须像上面的代码那样做。但我不知道如何获取dateBeforeCurrentDate,因此将禁用昨天的所有日期。
请告诉我。
此致 Zee的
答案 0 :(得分:3)
我认为你坚持使用毫秒算术。这就是Adobe's docs中使用的内容:
function getYesterday():Date {
var today:Date = new Date();
var millisecondsPerDay:Number = 1000 * 60 * 60 * 24;
var yesterday:Date = new Date();
yesterday.setTime(today.getTime() - millisecondsPerDay);
}
如果您要进行更多的日期算术,您可以拉入库来执行此操作(例如,请参阅Flex Date Utils)。
答案 1 :(得分:2)
我想你需要这个:
<mx:DateField disabledRanges="{[{rangeEnd: new Date()}]}"/>
当前日期只是“新日期()”。
答案 2 :(得分:1)
这样的工作:
disabledRanges="{[{rangeEnd: new Date((new Date()).getTime() - (1000*60*60*24))}]}"
selectableRange="{{rangeStart : new Date()}}"
您可以将范围提取到可绑定对象中。
答案 3 :(得分:1)
我相信这应该可以解决问题:
<mx:DateField disabledRanges="{[{rangeEnd: new Date(null, null, new Date().date - 1)}]}"/>
答案 4 :(得分:0)
为什么要使用比以下更复杂的东西:
<mx:DateField disabledRanges="{[{rangeEnd: new Date()}]}"/>
<mx:DateField selectableRange="{{rangeStart : new Date()}}" y="50"/>
答案 5 :(得分:0)
disabledRanges="{[{rangeEnd: new Date(new Date().getFullYear(),new Date().getMonth(),new Date().getDate()-1)}]}"
这对我有用:)