0

我有一个表格,我在其中添加了两个日期

  1. 开始日期
  2. 结束日期

我想知道我如何验证所选的开始日期始终小于结束日期(实际上是到期日期)。

4

4 回答 4

4

你可以做这样的事情来比较日期,

trace(validateDate(new Date(2008, 5, 1), new Date(2008, 6, 1)));  


protected function validateDate(date1:Date, date2:Date):Boolean
{
    return (date1.time < date2.time);

}
于 2012-04-16T10:30:38.603 回答
1

你看起来像这样。试试这个功能:

public function compare (Start_date: Date, End_Date : Date) : Number
{
    var Start_date1 : Number = Start_date.getTime ();
    var End_Date1 : Number = End_Date.getTime ();

    if (Start_date1 > End_Date1)
    {
        result = 0;
    }
    else 
    {
        result = 1;
    }

    return result;
} 
于 2012-04-16T10:26:06.170 回答
0

小样本

    <mx:Script>
        <![CDATA[
            import mx.controls.Alert;
            import mx.utils.ObjectUtil;
            import mx.events.CalendarLayoutChangeEvent;

            private function compareDate():void {
                var fromDateFormat:String = DateField.dateToString(new Date(fromDates.selectedDate), "YYYY/MM/DD");
                var toDateFormat:String = DateField.dateToString(new Date(toDates.selectedDate), "YYYY/MM/DD");
                var todayDateStr:String = DateField.dateToString(new Date(), "YYYY/MM/DD");

                var fromDate:Date = DateField.stringToDate(fromDateFormat, "YYYY/MM/DD");
                var toDate:Date = DateField.stringToDate(toDateFormat, "YYYY/MM/DD");
                var todayDate:Date = DateField.stringToDate(todayDateStr, "YYYY/MM/DD");


                if(ObjectUtil.dateCompare(todayDate , fromDate) >= 0 && ObjectUtil.dateCompare(todayDate , toDate) <=0){
                    Alert.show("Valid");
                }else{
                    Alert.show("InValid");
                }
            }
        ]]>
    </mx:Script>
    <mx:DateField id="fromDates"/>
    <mx:DateField id="toDates"/>

    <mx:Button id="checkValidity" click="compareDate()"/>

</mx:Application>

或者

检查以下链接进行验证

http://www.iambredsoiblog.eu/flexfiles/start_end_date_check/srcview/index.html

于 2012-04-17T06:59:07.163 回答
0

您可以直接使用两个数据字段并禁用结束日期字段日期小于开始日期字段

你可以这样做

<mx:DateField id="stDate"/>
<mx:DateField id="endDate" selectableRange="{{rangeStart: stDate.selectedDate}}"/>

从上面您不需要将结束日期与开始日期进行比较......因为在结束日期字段中将不会启用小于开始日期的日期......

于 2012-04-20T10:16:49.673 回答