首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Datefield Ranges Flex

Datefield Ranges Flex
EN

Stack Overflow用户
提问于 2011-09-29 12:13:41
回答 2查看 1.4K关注 0票数 1

我有两个Datefield .Is,我可以将第二个Datefield的日期设置为指定的范围(比如三天...?)。我试着做这件事,但没有成功。不知道如何将日期转换回字符串并格式化。以下是代码

代码语言:javascript
复制
<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;
}

如果有人能帮上忙,我将不胜感激

EN

回答 2

Stack Overflow用户

发布于 2011-09-29 15:14:40

要对日期进行计算,必须首先将它们转换为数字,即以纪元时间表示的日期或从1970年1月1日起经过的秒数。然后,你可以在你的date上执行任何操作。例如:

代码语言:javascript
复制
// 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);
票数 1
EN

Stack Overflow用户

发布于 2011-09-30 23:42:19

如果您想禁用在dfield1中选择的日期之前的日期,以及在dfield1中选择的日期之后三天之后的日期,请尝试执行以下操作:

代码语言:javascript
复制
<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 ) } ];
}
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/7592379

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档