实现场景:8:00-12:00上课,每节课45分钟,课间10分钟,获取上课时间段
结果:
//调用方法获取时间区间 总方法入口 gettimearr(gettimesecond(“8: 00: 00”), gettimesecond("12:00:00"), 45 * 60, 10 * 60); /** * 将时间转为秒 * @param {any} date 传入时间格式(字符串):8:00:00 */ function gettimesecond(date) { var darr = date.split(':'); return parseInt(darr[0]) * 3600 + parseInt(darr[1]) * 60 + parseInt(darr[2]); } /** * 获取节次时间 * @param {any} startTime 起始时间 转换为秒 8:00 28800秒 * @param {any} endTime 终止时间 转换为秒 12:00 43200秒 * @param {any} l 课时时长 秒 * @param {any} g 课间间隔 秒 */ function gettimearr(startTime, endTime, l, g) { var json = new Array(); for (i = startTime; i < endTime; i = i + g) { //将秒转换为时分秒格式 var s = formatSeconds(i); var e = formatSeconds(i + l); if (i + l < endTime) { var jsonitem = '{"course_begintime":"' + s + '","course_endtime":"' + e + '"}'; console.error(jsonitem); json.push(jsonitem); } i = i + l; } console.error(json); } /** * 将时间秒转为时-分-秒格式 * @param {any} value 秒 */ function formatSeconds(value) { var secondTime = parseInt(value);// 秒 var minuteTime = 0;// 分 var hourTime = 0;// 小时 if (secondTime > 60) {//如果秒数大于60,将秒数转换成整数 //获取分钟,除以60取整数,得到整数分钟 minuteTime = parseInt(secondTime / 60); //获取秒数,秒数取佘,得到整数秒数 secondTime = parseInt(secondTime % 60); //如果分钟大于60,将分钟转换成小时 if (minuteTime > 60) { //获取小时,获取分钟除以60,得到整数小时 hourTime = parseInt(minuteTime / 60); //获取小时后取佘的分,获取分钟除以60取佘的分 minuteTime = parseInt(minuteTime % 60); } } var result = ""; if (secondTime > 0) { result = "" + parseInt(secondTime) + "秒"; } else { result = "00秒"; } if (minuteTime > 0) { result = "" + parseInt(minuteTime) + "分" + result; } else { result = "00分" +result; } if (hourTime > 0) { result = "" + parseInt(hourTime) + "小时" + result; }
else
{
result="00小时"+result;
}
return result;
}