flex 带有时分秒的日期组件
来源:互联网 发布:snmp trap 软件 编辑:程序博客网 时间:2024/05/02 00:35
有两种方式实现
1:比较简单
2:
两种效果图片如下:
1:比较简单
- 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>
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>
2:
- <?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>
<?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 带有时分秒的日期组件
- bootstrap 带有时分秒的日期控件
- Hibernate 保存带有时分秒的Oracle 数据库日期类型
- Extjs4 日期+时分秒组件datetimefield
- 带有年月日时分秒的时间控件
- 得到日期,时分秒的方法
- hibernate 日期 时分秒
- 时分秒 日期控件
- js写的日历控件(带有时分秒)
- Oracle数据库中插入日期,日期带有时分秒(java.util.Date类型)
- 日期显示,年月日时分秒
- oracle数据库 查找带有时分秒数据
- QueryDataSet取得带时分秒日期的问题?
- 一个SQL得到两个日期之间的时分秒
- 单据上业务日期字段时分秒的舍弃处理。
- Extjs3.3日期控件的扩展,选择时分秒
- Flex4 DateField自定义的日期选择控件,可选择时分秒
- Java输出当前的日期(年月日时分秒毫秒)
- GNU binutils 使用小结
- Android ViewFlipper的触碰动画,如新闻和天气
- 代码走读--反思
- 又有新的想法了!
- 来自我自己的新浪博客
- flex 带有时分秒的日期组件
- 模板模式——多态、虚方法、抽象
- 结构体在内存中的对齐规则
- 貌似是对的。哈夫曼树的路径长度——堆优化
- 操作系统里的生产者、消费者问题
- 程序员面试题精选100题(06)-判断整数序列是不是二元查找树的后序遍历结果
- android下PDF格式的地图数据的显示------超大PDF页面显示策略(一)
- matlab的数据如何保存成文件被VS调用
- qt4.3.3在VC6中使用gb2312编码的bug