我有两个Datefield .Is,我可以将第二个Datefield的日期设置为指定的范围(比如三天...?)。我试着做这件事,但没有成功。不知道如何将日期转换回字符串并格式化。以下是代码
<mx:DateField disabledRanges="{[{rangeEnd: new Date(2011,05,31)}]}" id="dfield1" change="leaveDate()" parseFunction="null" width="100" x="156" y="130"/>
<mx:DateField disabledRanges="{[{rangeEnd: new Date(2011,05,31)}]}" id="dfield2" parseFunction="null" width="100" x="426" y="130"/>
private function leaveDate():void {
//var dateLeave:Date = dfield1.selectedDate;
var myTime:Date =dfield1.selectedDate;
dateAdd("date", 3, myTime);
//car formatter1:Datef
commentField.text+=myTime+"\n"
//dfield2.selectedDate = returnDate
}
public static function dateAdd(datepart:String = "", number:Number = 0, date:Date = null):Date
{
if (date == null) {
date = new Date();
}
var returnDate:Date = new Date(date.time);;
switch (datepart.toLowerCase()) {
case "fullyear":
case "month":
case "date":
case "hours":
case "minutes":
case "seconds":
case "milliseconds":
returnDate[datepart] += number;
break;
default:
/* Unknown date part, do nothing. */
break;
}
return returnDate;
}如果有人能帮上忙,我将不胜感激
发布于 2011-09-29 15:14:40
要对日期进行计算,必须首先将它们转换为数字,即以纪元时间表示的日期或从1970年1月1日起经过的秒数。然后,你可以在你的date上执行任何操作。例如:
// Today
var today:Date = new Date();
// Tomorrow
var tomorrow:Date = new Date();
// How many seconds in a day ?
var secsInOneDay:Number = 60*60*24;
// Changes the tomorrow date to actually be tomorrow ^^
tomorrow.setTime(today.getTime() + secsInOneDay);发布于 2011-09-30 23:42:19
如果您想禁用在dfield1中选择的日期之前的日期,以及在dfield1中选择的日期之后三天之后的日期,请尝试执行以下操作:
<mx:DateField disabledRanges="{[{rangeEnd: new Date(2011,05,31)}]}" id="dfield1" change="leaveDate()" parseFunction="null" width="100" x="156" y="130"/>
<mx:DateField disabledRanges="{[{rangeEnd: new Date(2011,05,31)}]}" id="dfield2" parseFunction="null" width="100" x="426" y="130"/>
private function leaveDate():void {
dfield2.disabledRanges = [ { rangeEnd:new Date(
dfield1.selectedDate.fullYear,
dfield1.selectedDate.month,
dfield1.selectedDate.date - 1 ) },
{ rangeStart:new Date(
dfield1.selectedDate.fullYear,
dfield1.selectedDate.month,
dfield1.selectedDate.date + 3 ) } ];
}https://stackoverflow.com/questions/7592379
复制相似问题