簡體   English   中英

日期字段范圍-Flex

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM