計算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);
}
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.