<! DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN" > < HTML > < HEAD > < TITLE > 作者:风中叶 </ TITLE > < META NAME ="Generator" CONTENT ="EditPlus" > < META NAME ="Author" CONTENT ="" > < META NAME ="Keywords" CONTENT ="" > < META NAME ="Description" CONTENT ="" > < SCRIPT LANGUAGE ="JavaScript" > //将string转换为Date //str必须满足如下格式: 2008-04-29 function convertString2Date(str) { //用户split分隔出数组,将包含3个元素:年,月,日 var splitArray = str.split("-"); // 用年,月,日构造日期对象 // splitArray[0]-> year, splitArray[1]-> month, splitArray[2]->day // 这时要注意月份是从0开始的 var date = new Date(splitArray[0], splitArray[1] - 1, splitArray[2]); return date; } // 得到date1和date2之间的间隔 // date2要比date1大 // date要满足如下格式: 2008-04-29 //参数date1和date2类型应该是String或Date // 确保两种类型没有问题 function getIntervalBetweenTwoDates(date1, date2) { var realDate1 = date1; var realDate2 = date2; // 如果date1是Date类型就不用转换 if(!(date1 instanceof Date)) { realDate1 = convertString2Date(date1); } // 如果date2是Date类型就不用转换 if(!(date2 instanceof Date)) { realDate2 = convertString2Date(date2); } //得到绝对值,(realDate2.getTime() - realDate1.getTime())返回的是毫秒所以要先除1000 var interval = Math.abs((realDate2.getTime() - realDate1.getTime()))/(1000 * 60 * 60 * 24); return interval; } function listAllDatesBetweenTwoDates() { var date1 = document.getElementById("start").value; var date2 = document.getElementById("end").value; var target = document.getElementById("result"); var interval = getIntervalBetweenTwoDates(date1,date2); // 转换string为Date date1 = convertString2Date(date1); var year = date1.getFullYear(); var month = date1.getMonth(); var date = date1.getDate(); --date; for(var i = 0 ; i <= interval ; ++i) { ++date; var theDate = new Date(year, month, date); var tempYear = theDate.getFullYear(); var tempMonth = theDate.getMonth() + 1; var tempDate = theDate.getDate(); var day = theDate.getDay(); var working = null; if(0 == day || 6 == day) // non-working day { working = "non-working day"; } else { working = "working day"; } var theResult = tempYear + "-" + tempMonth + "-" + tempDate + " is " + working; var div = document.createElement("div"); div.innerHTML = theResult; target.appendChild(div); } } </ SCRIPT > </ HEAD > < BODY > start date: < input type ="text" length ="20" id ="start" >< br > end date: < input type ="text" length ="20" id ="end" >< br > < input type ="button" onclick ="listAllDatesBetweenTwoDates()" value ="result" > < div id ="result" ></ div > </ BODY > </ HTML > 々上善若水々 2008-04-30 09:10 发表评论