計算jsp兩日期相差天數(dojo)



dojo.connect(unieap.byId("END_TIME"), "onChange", this, setApplyDays);


//由開始和結束時間得到請假天數applyDays
  function setApplyDays(){
    var start = unieap.byId("START_TIME").getText();
    var end = unieap.byId("END_TIME").getText();
    if(start !=null && start !="" && end !=null && end != ""){
  applyDays =dateCheck(start,end) ;
  unieap.byId("APPLY_DAYS").setValue(applyDays);
  }
  }
  function dateCheck(d1,d2){  
    // 返回 日期2 減去 日期1 的天數(當天爲 0 )和小時數。  
      if(! d1 || ! d2){       
       return [];   
        }   
         var n1=d1.indexOf(" "); 
            var n2=d2.indexOf(" ");     
              if(n1!=-1){      
              d1=d1.substring(0, n1);    }   
              if(n2!=-1){        d2=d2.substring(0, n2);    }  
              d1=d1.replace(/\s/g, "");   
              d1=d1.replace(/\//g, "-");   
              d1=d1.replace(/\\/g, "-");   
              d1=d1.replace(/\./g, "-");   
              d1=d1.replace(/\-0/g, "-");      
             d2=d2.replace(/\s/g, "");   
             d2=d2.replace(/\//g, "-");  
               d2=d2.replace(/\\/g, "-");   
                d2=d2.replace(/\./g, "-");  
                  d2=d2.replace(/\-0/g, "-");  
                    if(d1==d2){        return 1;    }  
                      var arr1=d1.split('-'); 
                      //轉成成數組,分別爲年,月,日,下同   
                       var arr2=d2.split('-');     
                         if( ! arr1[0]){       
                          arr1[0]="0";    }   
                           if(! arr1[1]){    arr1[1]="1";    }   
                           if(! arr1[2]){        arr1[2]="0";    }  
                           if(! arr2[0]){        arr2[0]="0";    }  
                           if(! arr2[1]){        arr2[1]="1";    }   
                           if(! arr2[2]){        arr2[2]="0";    } 
        var date1=new Date(parseInt(arr1[0]),parseInt(arr1[1])-1,parseInt(arr1[2]),0,0,0);
         // 初始化參數:年 月 日 時 分 秒   
        var date2=new Date(parseInt(arr2[0]),parseInt(arr2[1])-1,parseInt(arr2[2]),0,0,0);
      return parseInt((date2.getTime()-date1.getTime())/1000/86400)+1;
      }


============================================================
//由出生年日得到年齡  
   function setAge(){  
      var   aDate=new   Date();
   var   thisYear=aDate.getFullYear();
  var brith = unieap.byId("BIRTHDAY").getText();
  if( brith != null &&  brith != "" & brith != "null"  ){
         brith=brith.substr(0,4);2012-12-12
  age=(thisYear-brith);
  unieap.byId("AGE").setValue(age);
  }
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章