简单值日周期程序,js简单值日安排程序,不含节假日 1. [代码] [JavaScript]代码 style type="text/css"table.altrowstable { font-family: verdana,arial,sans-serif; font-size:11px; color:#333333; border-width: 1px; border
1. [代码][JavaScript]代码
<style type="text/css">
table.altrowstable {
font-family: verdana,arial,sans-serif;
font-size:11px;
color:#333333;
border-width: 1px;
border-color: #a9c6c9;
border-collapse: collapse;
}
table.altrowstable th {
border-width: 1px;
padding: 8px;
border-style: solid;
border-color: #a9c6c9;
}
table.altrowstable td {
border-width: 1px;
padding: 8px;
border-style: solid;
border-color: #a9c6c9;
}
.oddrowcolor{
background-color:#d4e3e5;
}
.evenrowcolor{
background-color:#c3dde0;
}
</style>
<script>
DateDiffNoWeekDay(new Date("2016/08/01 14:30:00"),new Date("2016/08/31 12:30:00"));
function carryTime(date){
if(date.getMinutes()>0&&date.getMinutes()<15){
date.setMinutes(0);
}
if(date.getMinutes()>=15&&date.getMinutes()<30){
date.setMinutes(30);
}
if(date.getMinutes()>30&&date.getMinutes()<45){
date.setMinutes(30);
}
if(date.getMinutes()>=45){
date.setHours(date.getHours()+1);
date.setMinutes(0);
}
return date;
}
function DateDiffNoWeekDay(startTime,endTime){
if(startTime>=endTime) return 0;
startTime=carryTime(startTime);
endTime=carryTime(endTime);
var totalTime=0;
if(startTime.getDay()==6||startTime.getDay()==0){
totalTime=endTime.getDate()-startTime.getDate();
}else{
totalTime=Math.floor(((endTime-startTime)/(3600*1000))/24);
}
var tempStartTime=new Date();
tempStartTime.setTime(startTime.getTime());
var temp=0;
while(tempStartTime.getDate()<endTime.getDate()){
if(tempStartTime.getDay()==6||tempStartTime.getDay()==0){
totalTime--;
}
tempStartTime.setDate(tempStartTime.getDate()+1);
}
do{
if(startTime.getDay()==6 || startTime.getDay()==0){
startTime.setDate(startTime.getDate()+1);
startTime.setHours(9);
startTime.setMinutes(0);
continue;
}
if(startTime.getHours()*60+startTime.getMinutes()>=9*60 && startTime.getHours()*60+startTime.getMinutes()<17*60){
temp+=0.05;
}
startTime.setTime(startTime.getTime()+0.5*3600*1000);
}while(startTime.getHours()*60+startTime.getMinutes()!=endTime.getHours()*60+endTime.getMinutes())
totalTime+=Math.floor(temp/0.8);
totalTime+=temp%0.8;
totalTime=Math.round(totalTime*100)/100
var days=Math.floor(totalTime);
var hours=Math.round((totalTime-days)*100)/10;
document.write(" <u> "+days+" </u>day<u> "+hours+" </u>hour");
return totalTime;
}
var swapItems = function(arr, index1, index2) {
arr[index1] = arr.splice(index2, 1, arr[index1])[0];
return arr;
};
function getLastDay(){
var dt = new Date();
dt.setDate(1);
dt.setMonth(dt.getMonth()+1);
cdt = new Date(dt.getTime()-1000*60*60*24);
return cdt.getDate()
}
function altRows(id){
if(document.getElementsByTagName){
var table = document.getElementById(id);
var rows = table.getElementsByTagName("tr");
for(i = 0; i < rows.length; i++){
if(i % 2 == 0){
rows[i].className = "evenrowcolor";
}else{
rows[i].className = "oddrowcolor";
}
}
}
}
window.onload=function(){
altRows('TurnTable');
}
function getInfo(year, month) {
var d = new Date();
// what day is first day
d.setFullYear(year, month-1, 1);
var w1 = d.getDay();
if (w1 == 0) w1 = 7;
// total day of month
d.setFullYear(year, month, 0);
var dd = d.getDate();
// first Monday
if (w1 != 1) d1 = 7 - w1 + 2;
else d1 = 1;
week_count = Math.ceil((dd-d1+1)/7);
document.write(year + "年" + month + "月有" + week_count +"周<br/>");
var TurnPerson = new Array("邵飞1","邵飞11","邵飞2","邵飞3","邵飞4","邵飞5","邵飞6");
var TurnTemp = new Array("","","","","","")
document.write('<table id="TurnTable"><tr><th>星期一</th><th>星期二</th><th>星期三</th><th>星期四</th><th>星期五</th></tr>');
for (var i = 0; i < week_count; i++) {
var monday = d1+i*7;
var sunday = monday + 6;
var from = year+"/"+month+"/"+monday;
var to;
if (sunday <= dd) {
to = year+"/"+month+"/"+sunday;
} else {
d.setFullYear(year, month-1, sunday);
to = d.getFullYear()+"/"+(d.getMonth()+1)+"/"+d.getDate();
}
//document.write("第"+(i+1)+"周 从" + from + " 到 " + to + "<br/>");
document.write("<tr>");
var monthlastbz = 1;
for(var j=0;j<5;++j){
if(TurnPerson.length <= j){
document.write("第"+(i+1)+"周 从" +month+ "/"+(monday+j) + " 到 " + TurnPerson[j%TurnPerson.length] + "<br/>");
}else{
if((monday+j) >getLastDay()){
document.write("<td>"+(month+1)+ "/"+(monthlastbz++)+ TurnPerson[j]+"</td>");
}
else
document.write("<td>"+month+ "/"+(monday+j)+ TurnPerson[j]+"</td>");
//document.write("第"+(i+1)+"周 从" + (monday+j) + " 到 " + TurnPerson[j] + "<br/>");
}
if(j == 4){
if(TurnPerson.length > 5){
var be =0
for(var t = 5;t<TurnPerson.length;++t){
var temp= TurnPerson[t]
TurnTemp[be++] = temp
}
for(var BeginArray = 0;BeginArray < 5;++BeginArray){
TurnTemp[be++] = TurnPerson[BeginArray]
console.log("TurnTemp[BeginArray]" +TurnTemp[BeginArray+5])
}
for(var e = 0;e<TurnTemp.length;++e){
TurnPerson[e] = TurnTemp[e]
}
}
}
}
document.write("</tr>");
}
document.write("</table>");
}
var date=new Date;
getInfo(date.getFullYear(),date.getMonth()+1);
</script>
