`
hexin46373
  • 浏览: 2082 次
  • 性别: Icon_minigender_1
  • 来自: 成都
最近访客 更多访客>>
文章分类
社区版块
存档分类
最新评论

flex 日期的时分秒

阅读更多
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> 
分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics