/* 时间联动
*/
$(function(){
$('#applyNum').bind('keyup',function(){//键盘键抬起触发
var sourse = '${apply.sourceTimeLimit }';
var appUnit = $("#applyUnit").val();
var appNum = parseInt($('#applyNum').val());
if(appNum>0 && sourse != ''){
var dateone = dateAdd(sourse,appUnit,appNum);
var dateOne = dateone.Format("yyyy-MM-dd hh:mm:ss");
$("#targetTimeLimit").val(dateOne);
}
});
$('#applyUnit').bind('change',function(){//控件值改变时触发
var sourse = '${apply.sourceTimeLimit }';//获取参照时间
var appUnit = $("#applyUnit").val();//获取录入的数字
var appNum = parseInt($('#applyNum').val());//获取改变的时间单位
if(appNum>0 && sourse != ''){//如果不为空
var dateone = dateAdd(sourse,appUnit,appNum);
var dateOne = dateone.Format("yyyy-MM-dd hh:mm:ss");
$("#targetTimeLimit").val(dateOne);//给算出的时间复制给属性显示
}
});
})
/*
* 日期计算
*/
function dateAdd(date,strInterval, Number) { //参数分别为日期对象,增加的类型,增加的数量
var dtTmp = new Date(date);
switch (strInterval) {
case 'second':
return new Date(dtTmp.getFullYear(), dtTmp.getMonth(), dtTmp.getDate(), dtTmp.getHours(), dtTmp.getMinutes(), dtTmp.getSeconds()+Number);
case 'minute':
return new Date(dtTmp.getFullYear(), dtTmp.getMonth(), dtTmp.getDate(), dtTmp.getHours(), dtTmp.getMinutes()+Number, dtTmp.getSeconds());
case 'hour':
return new Date(dtTmp.getFullYear(), dtTmp.getMonth(), dtTmp.getDate(), dtTmp.getHours()+Number, dtTmp.getMinutes(), dtTmp.getSeconds());
case 'day':
return new Date(dtTmp.getFullYear(), dtTmp.getMonth(), dtTmp.getDate()+Number, dtTmp.getHours(), dtTmp.getMinutes(), dtTmp.getSeconds());
case 'week':
return new Date(dtTmp.getFullYear(), dtTmp.getMonth(), dtTmp.getDate()+(Number*7), dtTmp.getHours(), dtTmp.getMinutes(), dtTmp.getSeconds());
case 'month':
return new Date(dtTmp.getFullYear(), (dtTmp.getMonth()) + Number, dtTmp.getDate(), dtTmp.getHours(), dtTmp.getMinutes(), dtTmp.getSeconds());
}
}
/*
* 时间格式转换
*/
Date.prototype.Format = function(fmt) {
var o = {
"M+" : this.getMonth() + 1, // 月份
"d+" : this.getDate(), // 日
"h+" : this.getHours(), // 小时
"m+" : this.getMinutes(), // 分
"s+" : this.getSeconds(), // 秒
"q+" : Math.floor((this.getMonth() + 3) / 3), // 季度
"S" : this.getMilliseconds(), // 毫秒
"0+" : "0"
};
if(o == undefined) return fmt;
if (/(y+)/.test(fmt)){
fmt = fmt.replace(RegExp.$1, (this.getFullYear() + "").substr(4 - RegExp.$1.length));
}
for (var k in o){
if (new RegExp("(" + k + ")").test(fmt)){
fmt = fmt.replace(RegExp.$1, (RegExp.$1.length == 1) ? (o[k]) : (("00" + o[k]).substr(("" + o[k]).length)));
}
}
return fmt;
}