随笔 - 2  文章 - 1  trackbacks - 0
<2008年7月>
293012345
6789101112
13141516171819
20212223242526
272829303112
3456789

常用链接

留言簿(1)

随笔分类(1)

随笔档案(4)

link

搜索

  •  

积分与排名

  • 积分 - 3298
  • 排名 - 3475

最新评论

阅读排行榜

评论排行榜

  1 <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
  2 <HTML>
  3 <HEAD>
  4   <TITLE> 作者:风中叶 </TITLE>
  5   <META NAME="Generator" CONTENT="EditPlus">
  6   <META NAME="Author" CONTENT="">
  7   <META NAME="Keywords" CONTENT="">
  8   <META NAME="Description" CONTENT="">
  9 
 10 <SCRIPT LANGUAGE="JavaScript">
 11   //将string转换为Date
 12   //str必须满足如下格式: 2008-04-29
 13   function convertString2Date(str)
 14   {
 15    //用户split分隔出数组,将包含3个元素:年,月,日
 16    var splitArray = str.split("-");
 17    
 18    // 用年,月,日构造日期对象
 19    // splitArray[0]-> year, splitArray[1]-> month, splitArray[2]->day
 20    // 这时要注意月份是从0开始的
 21    var date = new Date(splitArray[0], splitArray[1- 1, splitArray[2]);
 22   
 23    return date;
 24   }
 25 
 26   // 得到date1和date2之间的间隔
 27   // date2要比date1大
 28   // date要满足如下格式: 2008-04-29
 29   //参数date1和date2类型应该是String或Date
 30   // 确保两种类型没有问题
 31   function getIntervalBetweenTwoDates(date1, date2)
 32   {
 33    var realDate1 = date1;
 34    var realDate2 = date2;
 35    
 36    // 如果date1是Date类型就不用转换
 37    if(!(date1 instanceof Date))
 38    {
 39     realDate1 = convertString2Date(date1);
 40    }
 41    // 如果date2是Date类型就不用转换
 42    if(!(date2 instanceof Date))
 43    {
 44     realDate2 = convertString2Date(date2);
 45    }
 46    
 47    //得到绝对值,(realDate2.getTime() - realDate1.getTime())返回的是毫秒所以要先除1000
 48    var interval = Math.abs((realDate2.getTime() - realDate1.getTime()))/(1000 * 60 * 60 * 24);
 49    
 50    return interval;
 51   }
 52 
 53   function listAllDatesBetweenTwoDates()
 54   {
 55    var date1 = document.getElementById("start").value;
 56    var date2 = document.getElementById("end").value;
 57    var target = document.getElementById("result");
 58    var interval = getIntervalBetweenTwoDates(date1,date2);
 59    // 转换string为Date
 60    date1 = convertString2Date(date1);   
 61    var year = date1.getFullYear();
 62    var month = date1.getMonth();
 63    var date = date1.getDate();
 64    --date;
 65    
 66    for(var i = 0 ; i <= interval ; ++i)
 67    {
 68     ++date;
 69     
 70     var theDate = new Date(year, month, date);
 71     var tempYear = theDate.getFullYear();
 72     var tempMonth = theDate.getMonth() + 1;
 73     var tempDate = theDate.getDate();
 74     var day = theDate.getDay();
 75     var working = null;
 76     if(0 == day || 6 == day) // non-working day
 77     {
 78      working = "non-working day";
 79     }
 80     else
 81     {
 82      working = "working day";
 83     }
 84     var theResult = tempYear + "-" + tempMonth + "-" + tempDate + " is " + working;
 85     var div = document.createElement("div");
 86     
 87     div.innerHTML = theResult;
 88     target.appendChild(div); 
 89     
 90    }
 91   }
 92 
 93 </SCRIPT>
 94 </HEAD>
 95 <BODY>
 96   
 97 start date:<input type="text" length="20" id="start"><br>
 98 end date:<input type="text" length="20" id="end"><br>
 99 <input type="button" onclick="listAllDatesBetweenTwoDates()" value="result">
100 <div id="result"></div>
101 </BODY>
102 </HTML>
103 
posted @ 2008-07-02 09:38 onlyfish 阅读(429) | 评论 (0)编辑 收藏