公司上班时间计算
火狐:
<script type="text/javascript"> document.getElementsByClassName = function (className) { var allArray = new Array(); var elements = new Array(); if (typeof document.all != "undefined") { allArray = document.all } else { allArray = document.getElementsByTagName("*") } for (var i = 0; i < allArray.length; i++) { var isClassName = hasClassName(allArray[i], className); if (isClassName) { elements.push(allArray[i]) } } return elements }; function hasClassName(element, className) { var elementClassName = element.className; if (elementClassName.length == 0) return false; if (elementClassName == className || elementClassName.match(new RegExp("(^|\\s)" + className + "(\\s|$)"))) return true; return false } function GetTime(num) { var hours = Math.floor(num / 3600000); var a = num % 3600000; var minute = Math.floor(a / 60000); var b = minute % 60000; var second = Math.floor(b / 1000); return hours + ":" + minute + ":" + second; } var list = window.frames["Main"].document.getElementsByClassName("listAC"); var arr = []; var pros = []; for (var i = 0; i < list.length; i++) { var tbody = list[i].children[0]; var td = tbody.children[1].children[0]; var td2 = tbody.children[2].children[0].children[0]; var html = td.innerHTML; var prompt = td2.innerHTML; if (html != "无刷卡记录") { if (prompt == "无") { arr.push(html); } else { var da = tbody.children[0].children[0].children[0].children[0].innerHTML; var obj = {}; obj.Date = da; obj.Des = prompt; pros.push(obj); } } } var total = 0; for (var i = 0; i < arr.length; i++) { var time = arr[i]; var exTime1 = time.split('~')[0]; if (exTime1 < "08:00") { exTime1 = "08:00"; } var exTime2 = time.split('~')[1]; var begin = exTime1.split(':')[0] * 60 * 60 * 1000 + exTime1.split(':')[1] * 60 * 1000; var end = exTime2.split(':')[0] * 60 * 60 * 1000 + exTime2.split(':')[1] * 60 * 1000; var ti = end - begin; total += ti; } var avg = Math.round(total / parseInt(arr.length)); console.log("上班总时间:" + GetTime(total)); console.log("上班平均时间:" + GetTime(avg)); console.log("上班天数:" + arr.length); var res = total - arr.length * 9 * 60 * 60 * 1000; if (res > 0) { console.log("多上班时间:" + GetTime(res)); } else { console.log("少上班时间:" + GetTime(-res)); } if (pros.length > 0) { for (var i = 0; i < pros.length; i++) { console.log(pros[i].Date + "号" + pros[i].Des); } } </script>
chrome:console
document.getElementsByClassName = function (className) { var allArray = new Array(); var elements = new Array(); if (typeof document.all != "undefined") { allArray = document.all } else { allArray = document.getElementsByTagName("*") } for (var i = 0; i < allArray.length; i++) { var isClassName = hasClassName(allArray[i], className); if (isClassName) { elements.push(allArray[i]) } } return elements }; function hasClassName(element, className) { var elementClassName = element.className; if (elementClassName.length == 0) return false; if (elementClassName == className || elementClassName.match(new RegExp("(^|\\s)" + className + "(\\s|$)"))) return true; return false } function GetTime(num) { var hours = Math.floor(num / 3600000); var a = num % 3600000; var minute = Math.floor(a / 60000); var b = minute % 60000; var second = Math.floor(b / 1000); return hours + ":" + minute + ":" + second; } var list = window.frames["Main"].document.getElementsByClassName("listAC"); var arr = []; var pros = []; for (var i = 0; i < list.length; i++) { var tbody = list[i].children[0]; var td = tbody.children[1].children[0]; var td2 = tbody.children[2].children[0].children[0]; var html = td.innerHTML; var prompt = td2.innerHTML; if (html != "无刷卡记录") { if (prompt == "无") { arr.push(html); } else { var da = tbody.children[0].children[0].children[0].children[0].innerHTML; var obj = {}; obj.Date = da; obj.Des = prompt; pros.push(obj); } } } var total = 0; for (var i = 0; i < arr.length; i++) { var time = arr[i]; var exTime1 = time.split('~')[0]; if (exTime1 < "08:00") { exTime1 = "08:00"; } var exTime2 = time.split('~')[1]; var begin = exTime1.split(':')[0] * 60 * 60 * 1000 + exTime1.split(':')[1] * 60 * 1000; var end = exTime2.split(':')[0] * 60 * 60 * 1000 + exTime2.split(':')[1] * 60 * 1000; var ti = end - begin; total += ti; } var avg = Math.round(total / parseInt(arr.length)); var res = total - arr.length * 9 * 60 * 60 * 1000; if (res > 0) { alert("多上班时间:" + GetTime(res)); } else { alert("少上班时间:" + GetTime(-res)); }

浙公网安备 33010602011771号