/* 时间工具格式
* @author czm_hudy@126.com
*
* @return
*/
function TimeUtil(){
this.config = {
morning : "上午",
afterNoon : "下午",
patterns: ['HH','HH:MM','HH:MM:SS','MM:SS']
};
this.defaultPattern = this.config.patterns[0];
};
TimeUtil.prototype.nowTime = function(){
var curDate = new Date();
var hour = curDate.getHours();
var min = curDate.getMinutes();
return hour + ":" + min;
}
/**
* 判断格式
*/
TimeUtil.prototype.checkFormat = function(pattern){
var accord = false;
for(var i=0; i<this.config.patterns.length; i++){
if(this.config.patterns[i] == pattern){
accord = true;
break;
}
}
return accord;
};
/**
* 时间添加
*/
TimeUtil.prototype.timeAdd = function(time1,addMin){
var timeArr = time1.split(':');
var hour = parseInt(timeArr[0]);
var min = parseInt(timeArr[1]);
var add = min + parseInt(addMin);
var rst = add % 60;
var yu = add/60 ;
if(rst == 0){
hour++;
min = 0;
}else if(yu > 1){
hour ++;
min = rst;
}else{
min = rst;
}
var hrst = hour % 24;
if(hrst == 0){
hour = 0;
}else{
hour = hrst;
}
return hour+":"+min;
}
/**
* 两个时间的差值(d1 - d2)分钟.
*/
TimeUtil.prototype.timeDiff = function(t1,t2){
var day = 60 * 1000;
try{
var dateArr = t1.split(":");
var check = new Date();
check.setHours(dateArr[0], dateArr[1], 0, 0);
var checkTime = check.getTime();
var dateArr2 = t2.split(":");
var check2 = new Date();
check2.setHours(dateArr2[0], dateArr2[1], 0, 0);
var checkTime2 = check2.getTime();
var cha = (checkTime2 - checkTime)/day;
return cha;
}catch(e){
return false;
}
};// end fun
TimeUtil.prototype._appendZero = function(value, length){
if(value) {
value = (value).toString();
if (value.length < length){
for(var i = 0; i< length - value.length; i++){
value = "0" + value;
}
}
}
return value;
};
function getDuration(timesEndtime){
var time = new TimeUtil();
var particle = $(timesEndtime).parent().prev().prev().children().eq(0).val();
var starttime = $(timesEndtime).parent().prev().children().eq(0).val();
var endtime = $(timesEndtime).val();
//1 判断结束时间要大于开始时间
var cha = time.timeDiff(starttime,endtime);
if(cha <= 0){
alert("结束时间必须大于开始时间!");
return;
}
//2拆分时间,处理59分钟的问题
var mm = endtime.split(":")[1];
var hh = endtime.split(":")[0];
if(endtime != '' && parseInt(mm) == 59){
mm = 60;
endtime = hh+":"+mm;
}
//3持续时间%周期==0
var cha2 = time.timeDiff(starttime,endtime);
$(timesEndtime).parent().next().children().eq(0).val(cha2);
var duration = $(timesEndtime).parent().next().children().eq(0).val();
var a = cha2 % parseInt(particle);
if( a != 0){
alert("持续时间:"+duration+"必须是测量周期:"+particle+"的整数倍!");
return;
}
}