EXTJS 開始日期和開始時間,結束日期和結束時間,當前日期和當前時間之間的比較


                                {
									columnWidth : .5,
									layout : 'form',
									border : false,
									items : [{
												xtype : 'datefield',
												fieldLabel : '結束日期',
												format : 'Y-m-d',
												allowBlank : true,
												name : 'warnenddate',
												id:'enddate',
												//vtype: 'daterange', // 調用的 驗證方法
                                                                                                //startDateField: 'begindate', // 設置開始時間
												maxLength : '20',
												anchor : '90%',
												listeners:{
                                                                                                     "select":function(){
                                                                                                           var bd = Ext.getCmp('begindate').getValue(); 
													   var ed = Ext.getCmp('enddate').getValue();
                                                                                                           var bdd  = Date.parse(bd); //Date.parse的處理很關鍵 
                                                                                                           var edd = Date.parse(ed); 
													   var myDate = new Date();
													    var year = myDate.getFullYear(); 
														var month = myDate.getMonth()+1;
														var day = myDate.getDate();
														var now = year+"/"+month+"/"+day;
														//alert(now);		
												        var xdd = Date.parse(now);//變爲毫秒
														//alert(xdd);
												    if(bd==""||bdd=="NaN"){
														var config = { 
																	title:'提示', 
																	msg: '請選擇開始日期!' 
																	} 
														Ext.Msg.show(config);
														
														var bd=Ext.getCmp("enddate");													
														bd.setValue(" ");
														return false;
													}else{
													    if(edd>=xdd){
														    if(edd>=bdd){
															    return true;
															}else{
															    var config = { 
																	title:'提示', 
																	msg: '開始日期不能大於結束日期!' 
																	} 
														        Ext.Msg.show(config);
																
																var bd=Ext.getCmp("enddate");													
														         bd.setValue(" ");
																return false;
															}
														   
												
														}else{
														     var config = { 
																	title:'提示', 
																	msg: '當前日期不能大於結束日期!' 
																	} 
														    Ext.Msg.show(config);
															
															var bd=Ext.getCmp("enddate");													
														    bd.setValue(" ");
															return false;
														}
													}
													
														
                                                    }	
                                                
                                                }
											}]
								}, {
									columnWidth : .5,
									layout : 'form',
									border : false,
									items : [{
												xtype : 'timefield',
												fieldLabel : '結束時間',
												format : 'G:i:s',
												allowBlank : true,
												name : 'warnendtime',
												id:'endtime',
												maxLength : '8',
												anchor : '90%',
												listeners:{
                                                                                                       "select":function(){
													   var bd = Ext.getCmp('begindate').getValue();
													   var bdd = Date.parse(bd);//變爲毫秒
													   var ed = Ext.getCmp('enddate').getValue();
													   var edd = Date.parse(ed);//變爲毫秒
													   var myDate = new Date();
															    var year = myDate.getFullYear(); 
															    var month = myDate.getMonth()+1;
															    var day = myDate.getDate();
															    var now = year+"/"+month+"/"+day;
												        var xdd = Date.parse(now);//變爲毫秒
													  
													   if(ed==""||edd=="NaN"){
															var config = { 
															   title:'提示', 
															   msg: '請先選擇結束日期!' 
															} 
															Ext.Msg.show(config);
															var tt=Ext.getCmp("endtime");													
														     tt.setValue(" ");
															return flase;
													   }
													   else{
															if(xdd==edd){
															    var bt = Ext.getCmp('begintime').getValue(); //開始時間
															    var et = Ext.getCmp('endtime').getValue(); //結束時間
															    var myDate = new Date();
															    var year = myDate.getFullYear(); 
															    var month = myDate.getMonth()+1;
															    var day = myDate.getDate();
															    var now = year+"/"+month+"/"+day;
															    
																var xt= myDate.getTime();
																if(bt==""||bt==null){
																	var config = { 
																	   title:'提示', 
																	   msg: '請選擇開始時間!' 
																	} 
																	Ext.Msg.show(config);
																	var tt=Ext.getCmp("endtime");													
														            tt.setValue(" ");
																	return false;
																}	
																bt= Date.parse(now +" "+ bt);
															    et= Date.parse(now +" "+ et);
																if (et>xt) { 
																    if(bdd==edd){
																	  var bt = Ext.getCmp('begintime').getValue(); //開始時間
																        if(bt==""||bt==null){
																	        var config = { 
																	            title:'提示', 
																	            msg: '請選擇開始時間!' 
																	        } 
																	        Ext.Msg.show(config);
																	        var tt=Ext.getCmp("endtime");													
														                    tt.setValue(" ");
																            return false;
																        }
															            var et = Ext.getCmp('endtime').getValue(); //結束時間
															            var myDate = new Date();
															            var year = myDate.getFullYear(); 
															            var month = myDate.getMonth()+1;
															            var day = myDate.getDate();
															            var now = year+"/"+month+"/"+day;
															            bt= Date.parse(now +" "+ bt);
															            et= Date.parse(now +" "+ et);
																        if (et>bt) {  
																             return true;
																        }else if(et<bt){
																	        var config = { 
																	            title:'提示', 
																	             msg: '結束時間不能小於開始時間!' 
																	        } 
																	         Ext.Msg.show(config);
																	         var tt=Ext.getCmp("endtime");													
														                    tt.setValue(" ");
																            return false;
																        }else{
																            var config = { 
																             title:'提示', 
																             msg: '結束時間不能等於開始時間!' 
																            } 
																            Ext.Msg.show(config);
																             var tt=Ext.getCmp("endtime");													
														                     tt.setValue(" ");
																	         return false;
																        }
																	}else if(edd>bdd){
																	     var bt = Ext.getCmp('begintime').getValue(); //開始時間
																        if(bt==""||bt==null){
																	        var config = { 
																	           title:'提示', 
																	           msg: '請選擇開始時間!' 
																	        } 
																	      Ext.Msg.show(config);
																	     var tt=Ext.getCmp("endtime");													
														                 tt.setValue(" ");
																         return false;
																        }
															           return true;
																	}	
                                                                                                                                       }else if(et<xt){
																	var config = { 
																	   title:'提示', 
																	   msg: '結束時間不能小於當前時間!' 
																	} 
																	Ext.Msg.show(config);
																	
																  var tt=Ext.getCmp("endtime");													
														          tt.setValue(" ");
																   return false;
																	
																}else{
																    var config = { 
																       title:'提示', 
																      msg: '結束時間不能等於當前時間!' 
																    } 
																   Ext.Msg.show(config);
																   var tt=Ext.getCmp("endtime");													
														           tt.setValue(" ");
																	return false;
																}
															
															}else if(edd>xdd){
																var bt = Ext.getCmp('begintime').getValue(); //開始時間
																if(bt==""||bt==null){
 																	var config = { 
																	    title:'提示', 
																	   msg: '請選擇開始時間!' 
  																	} 
 																	Ext.Msg.show(config);
																	var tt=Ext.getCmp("endtime");													
														            tt.setValue(" ");
																    return false;
																}
															    return true;
															    
															}
       
														}
													}	
													
												}
											}]
								}]
					            }

開始日期和開始時間不能在結束日期和結束時間之後,還得跟當前日期和當前時間比較,重點在邏輯
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章