var start = new Date(date1.replace("-","/")); var end = new Date(date2.replace("-","/")); var diff = parseInt((end - start) / (1000*60*60*24)); 先算出两个日期间的时间差,然后除以7天就行
var start = new Date(date1.replace("-","/")); var end = new Date(date2.replace("-","/")); var diff = parseInt((end - start) / (1000*60*60*24)); var count= parseInt((end - start) % (1000*60*60*24)); if(count>0) { diff +=1; }我想弄的是,尽管本月开始日子,结束日子 是在周末,都当 一周算。==>先取余,如果余数大于0就当作一周
function getWeeks(year, month, day){ var day1 = new Date(year, month-1, day); var day2 = new Date(year, 0, 1);
var firstweek = day2.getDay();//1月1日是星期几 if(firstweek == 0) { firstweek = 6; }else { firstweek = firstweek - 1; }//转化为0表示星期一,6表示星期日 firstweek = (7 - firstweek) % 7;//计算1月1日离第一周的天数 var day3 = new Date(year, 0, 1+firstweek) var result = Math.round((day1.getTime() - day3.getTime())/(1000*60*60*24)); result = Math.floor(result / 7)+2;//这个地方应该用floor返回最小次数然后+2 return result; }; 上面能获取当前日期是第几周,你想要的也能得到了
//返回Nowdate所在周的第一天 function showWeekFirstDay(Nowdate)
我的方法同楼上的差不多。给楼主参考。<script> var endTimeStr = "7-28-2011"; var endTime = new Date(endTimeStr); var currentTimeStr = "7-1-2011"; var currentTime = new Date(currentTimeStr); var dayDiff = Math.ceil((((endTime.getTime() - currentTime.getTime())/3600000))/24/7); alert(dayDiff); </script>
^_^ 谢谢啦 这个问题算是明白计算原理了。 如果 再更深入 一点的话,大家又是如何处理呢。 function getYearWeek(StartDate,EndDate){ //字符串格式 MM-dd-yyyy HH:mm:ss var sd = new Date(Date.parse(StartDate)); var ed = new Date(Date.parse(EndDate));
var end = new Date(date2.replace("-","/"));
var diff = parseInt((end - start) / (1000*60*60*24));
先算出两个日期间的时间差,然后除以7天就行
var end = new Date(date2.replace("-","/"));
var diff = parseInt((end - start) / (1000*60*60*24));
var count= parseInt((end - start) % (1000*60*60*24));
if(count>0)
{
diff +=1;
}我想弄的是,尽管本月开始日子,结束日子 是在周末,都当 一周算。==>先取余,如果余数大于0就当作一周
var day1 = new Date(year, month-1, day);
var day2 = new Date(year, 0, 1);
var firstweek = day2.getDay();//1月1日是星期几
if(firstweek == 0) {
firstweek = 6;
}else {
firstweek = firstweek - 1;
}//转化为0表示星期一,6表示星期日
firstweek = (7 - firstweek) % 7;//计算1月1日离第一周的天数
var day3 = new Date(year, 0, 1+firstweek)
var result = Math.round((day1.getTime() - day3.getTime())/(1000*60*60*24));
result = Math.floor(result / 7)+2;//这个地方应该用floor返回最小次数然后+2
return result;
};
上面能获取当前日期是第几周,你想要的也能得到了
function showWeekFirstDay(Nowdate)
{
var WeekFirstDay=new Date(Nowdate-(Nowdate.getDay()-1)*86400000);
return WeekFirstDay;
}//返回两个日期相差的周数function WeeksBetw(date1,date2){//这里的date1,date2都是Date对象var dt1=date1.getTime();var dt2=date2.getTime();return parseInt(Math.abs(dt1- dt2)/1000/60/60/24/7);}
var endTimeStr = "7-28-2011";
var endTime = new Date(endTimeStr);
var currentTimeStr = "7-1-2011";
var currentTime = new Date(currentTimeStr);
var dayDiff = Math.ceil((((endTime.getTime() - currentTime.getTime())/3600000))/24/7);
alert(dayDiff);
</script>
这个问题算是明白计算原理了。
如果 再更深入 一点的话,大家又是如何处理呢。
function getYearWeek(StartDate,EndDate){
//字符串格式 MM-dd-yyyy HH:mm:ss
var sd = new Date(Date.parse(StartDate));
var ed = new Date(Date.parse(EndDate));
//1.两个时间的周数
//2.每个周的开始日子 和 结束 日子
}