FLEX 日期时间操作

 更新时间:2009年07月09日 00:20:32   作者:  
找了很久,还是没有找到包含时间以下的东西,算了,还是麻烦一点,用日期加时间来处理吧.这里需要注意的是,它的时间日期跟其他语言是差不多的.所以要注意进行处理.
首先是它只有一个日期,而没有时间,所以这里也就是到年月日就到底了.
比如:
复制代码 代码如下:

<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);

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

相关文章

最新评论