mx:Label text="开始时间" x="56" y="142"/>
<mx:FormItem label="开始时间:" width="42%" x="53" y="87">
<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:NumericStepper id="startSecond" maxChars="2" maximum="59" width="50" />
</mx:HBox>
</mx:FormItem>
<?xml version="1.0" encoding="utf-8"?>
<mx:HBox xmlns:mx="http://www.adobe.com/2006/mxml"
horizontalGap="0" verticalAlign="middle">
<mx:NumberValidator id="hourValidator" source="{txtHour}" exceedsMaxError="" lowerThanMinError="" integerError=""
property="text" maxValue="{maxHour}" minValue="{minHour}"
trigger="{txtHour}" triggerEvent="change" invalid="txtHour.text = String(maxHour); txtHour.errorString = '';" />
<mx:NumberValidator id="minuteValidator" source="{txtMinute}" exceedsMaxError="" lowerThanMinError="" integerError=""
property="text" maxValue="59" minValue="0"
trigger="{txtMinute}" triggerEvent="change" invalid="txtMinute.text = '59'" allowNegative="false" />
<mx:NumberValidator id="secondValidator" source="{txtSecond}" exceedsMaxError="" lowerThanMinError="" integerError=""
property="text" maxValue="59" minValue="0"
trigger="{txtSecond}" triggerEvent="change" invalid="txtSecond.text = '59'" allowNegative="false" />
<mx:DateField id="dfDate"/>
<mx:TextInput id="txtHour" height="100%" restrict="0-9" maxChars="2" text="00"
mouseDown="setTextFocus(event)" styleName="textStyle" errorString=""
keyDown="keyHandler(event)"/>
<mx:Spacer width="-8" /><mx:Label text=":" /><mx:Spacer width="-16" />
<mx:TextInput id="txtMinute" height="100%" restrict="0-9" maxChars="2" text="00"
mouseDown="setTextFocus(event)" styleName="textStyle" errorString=""
keyDown="keyHandler(event)"/>
<mx:Spacer width="-8" /><mx:Label text=":" /><mx:Spacer width="-16" />
<mx:TextInput id="txtSecond" height="100%" restrict="0-9" maxChars="2" text="00"
mouseDown="setTextFocus(event)" styleName="textStyle" errorString=""
keyDown="keyHandler(event)"/>
<mx:Style>
.textStyle{
border-thickness : 0;
border-style : none;
background-alpha : 0;
text-align : center;
focus-alpha : 0;
padding-top : 2;
}
</mx:Style>
<mx:Script>
<![CDATA[
[Bindable]
private var maxHour:int = 23;
[Bindable]
private var minHour:int = 0;
private var _is24Hour:Boolean = true;
private function setTextFocus(event:Event):void
{
TextField(event.target).setSelection(0, 2);
}
public function set is24Hour(value:Boolean):void{
this._is24Hour = value;
if(this._is24Hour){
maxHour = 23;
}else{
maxHour = 11;
}
}
//上下箭头按键处理
private function keyHandler(event:KeyboardEvent):void{
var value:int = int(TextInput(event.currentTarget).text);
switch(event.keyCode){
//value++,上、右箭头
case 38:
case 39:
value++;
break;
//value--,下、左箭头
case 37:
case 40:
value--;
break;
}
//小时的设置
if(event.currentTarget == txtHour){
if(value>maxHour){
value = minHour;
}
if(value<0){
value = maxHour;
}
}
//分钟、秒钟的设置
if(event.currentTarget == txtMinute || event.currentTarget == txtSecond){
if(value>59){
value = 0;
}
if(value<0){
value = 59;
}
}
var text:String = String(value);
//不足两位的,前面补0
if(text.length == 1 ){
text = "0"+text;
}
//
TextInput(event.currentTarget).text = text;
// TextInput(event.currentTarget).setSelection(0,2);
}
//设置缺省值
public function set defaultDateTime(date:Date):void{
dfDate.selectedDate = date;
txtHour.text = formatString(date.getHours());
txtMinute.text = formatString(date.getMinutes());
txtSecond.text = formatString(date.getSeconds());
}
private function formatString(value:Number):String{
var str:String = String(value);
if(value<10){
str = "0"+str;
}
return str;
}
//返回当前时间值
public function get value():String{
return dfDate.text+" "+txtHour.text+":"+txtMinute.text+":"+txtSecond.text;
}
]]>
</mx:Script>
</mx:HBox>
分享到:
相关推荐
flex带时分秒日历。几乎没有任何问题。
flex中的时分秒计算,对大家可能会有帮助,在此上传纯粹是为了感谢那些共享资源的亲们!
flex 日期控件可选时分秒
flex日期控件可选时分秒,好用。
FLEX时间带时分秒可直接使用,解决了网上选择新的时分秒后,日期变成当天问题. 时分秒可手动输入,也可以用下拉选单.欢迎大家下载学习.
felx DateField 控件 完美支持时分秒选择,包含源代码,可以根据需要进行修改。版本为flex4.0。
用于FLex页面开发的时间控件,可以精确到时分秒,十分好用
最近刚好用到DateField组件,却无奈的发现只能选择年月日,不支持时分秒,在晚上找了好多,有的勉强可以用,但是很不完善.对从网上拿到一份代码进行了改善,具体从哪里拿的也忘了,请原作者勿怪. 改善之后的功能: 1.可以...
flex3.5时间控件(含时分秒),亲测能用!
重新写的dataFiled,带时分秒选择.很好用.里面有例子.
自定义dateField 自定义dateChoose 默认中文显示 支持时分秒选择
带时分秒日历控件,重写DateField组件,项目完美实现
flex 有时分秒的日期控件,该控件对dateField功能上进行了扩展,可以设置时分秒
自定义dateField 自定义dateChoose 默认中文显示 支持时分秒选择
Flex-时间控件,带年月日时分秒,本人一直用的一个控件,一个无BUG的好东西哦
开发了一个Flex日期选择器组件(带年月日时分妙),若哪里需要用到日期选择器组件,把DateField.swc文件拷贝到Flex项目的libs文件夹内,引用util.dateField包下的DateFieldComp组件即可。 用组件的id.text可获得组件的...
flex Date 日期转换 推算向前后 加减多少小时 多少天 多少分秒的时间 application文件 下载直接运行 看效果
Flex 继承 NumericStepper 实现时间输入组件,时分秒的输入
实用flex日期控件,原创,适用开发人员使用datefeild控件去除不需要日期时适用
Flex 日期时间选择控件,可选择小时、分钟、12/24小时格式