FLEX 日期时间操作

    首先是它只有一个日期,而没有时间,所以这里也就是到年月日就到底了.
    比如:

    复制代码 代码如下:

    <mx:DateField id=”dfdApplyTime” styleName=”formItemCSS” formatString=”YYYY-MM-DD”
    dayNames=”[日,一,二,三,四,五,六]”
    monthNames=”[一月,二月,三月,四月,五月,六月,七月,八月,九月,十月,十一月,十二月]”
    editable=”false”
    />


    这个时候就可以根据自己的需要处理一下显示的格式,比如DD/MM/YYYY等等之类的.注意这里可是没有HH:NN:SS之类的,不过处理的时候可以用上.
    所以才觉得郁闷,
    不过还是多加了几个方框就能够搞定,但是麻烦.见下:

    复制代码 代码如下:

    <mx:FormItem label=”开始时间:” width=”42%”>
    <mx:HBox horizontalGap=”1″>
    <mx:DateField id=”startDate” editable=”false”
    selectedDate=”{new Date()}”
    formatString=”YYYY-MM-DD”
    dayNames=”[日,一,二,三,四,五,六]”
    monthNames=”[一月,二月,三月,四月,五月,六月,七月,八月,九月,十月,十一月,十二月]”/>
    <mx:NumericStepper id=”startHour” maxChars=”2″ maximum=”23″ width=”50″ />
    <mx:Label text=”时” width=”18″/>
    <mx:NumericStepper id=”startMinute” maxChars=”2″ maximum=”59″ width=”50″ />
    <mx:Label text=”分” width=”18″/>
    </mx:HBox>
    </mx:FormItem>


    第二:同样的可以搞定,如果想初始化时间间隔,当然也可以了.这里同样提供了时间处理的方法了.就是DateFormatter用它可以格式化时间.比如:

    复制代码 代码如下:

    var et:Date = new Date();
    var n:Number = 1000*60*60*24*30;
    var st:Date = new Date(et.time+n);
    var df:DateFormatter = new DateFormatter();
    df.formatString = ‘YYYY/MM/DD HH:NN:SS’;
    var st1:String = df.format(st);
    Alert.show(st1);


    或者用控件同样的效果.这些差不多可以满足要求使用了,不过说回来,没有时分秒真的不好用,希望下次能够写一个控件来处理下.

发表评论

发表评论