[英]Datefield Ranges - Flex
我有兩個Datefields。有沒有一種方法可以將第二個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;
}
如果有人可以幫助我將不勝感激
要對日期進行運算,必須首先將它們轉換為數字,即以紀元時間表示的日期或自1970年1月1日以來經過的秒數。然后,您可以對日期執行任何運算。 例如 :
// 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);
如果要禁用在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 ) } ];
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.