日期:2014-05-17  浏览次数:20393 次

js计算当天所在一周的间隔
有日期: 2013-11-14,怎么样通过js计算出此天,所处的开始日期为: 2013-11-11
中间的日期也需要列出来.
结束日期为: 2013-11-17


谢谢.

------解决方案--------------------

function writeWeek(strDay){
        var d=new Date(strDay);
        var n=1000*60*60*24;
        var  Monday =new Date(d.setTime(d.getTime()-(d.getDay()-1)*n)),
            Tuesday = new Date(d.setTime(d.getTime()-(d.getDay()-2)*n)),
            Wednesday = new Date(d.setTime(d.getTime()-(d.getDay()-3)*n)),
            Thursday =new Date(d.setTime(d.getTime()-(d.getDay()-4)*n)),
            Friday = new Date(d.setTime(d.getTime()-(d.getDay()-5)*n)),
            Saturday =new Date(d.setTime(d.getTime()-(d.getDay()-6)*n)),
            Sunday = new Date(d.setTime(d.getTime()-(d.getDay()-7)*n));
        document.write('Monday:'+Monday.toLocaleDateString()+'<br>');
        document.write('Tuesday:'+Tuesday.toLocaleDateString()+'<br>');
        document.write('Wednesday:'+Wednesday.toLocaleDateString()+'<br>');
        document.write('Thursday:'+Thursday.toLocaleDateString()+'<br>');
        document.write('Friday:'+Friday.toLocaleDateString()+'<br>');
        document.write('Saturday:'+Saturday.toLocaleDateString()+'<br>');
        document.write('Sunday:'+Sunday.toLocaleDateString()+'<br><br>');
        }
        writeWeek('2013-11-14');
        writeWeek('2013-11-26');


Tuesday:2013年11月12日
Wednesday:2013年11月13日
Thursday:2013年11月14日
Friday:2013年11月15日
Saturday:2013年11月16日
Sunday:2013年11月17日

Monday:2013年11月25日
Tuesday:2013年11月26日
Wednesday:2013年11月27日
Thursday:2013年11月28日
Friday:2013年11月29日
Saturday:2013年11月30日
Sunday:2013年12月1日

------解决方案--------------------

function formatDate(date) {
return (date.getFullYear() + "-" + (date.getMonth() + 1) + "-" + date.getDate());
}

var now = new Date();
var nowDayOfWeek = now.getDay();
var nowDay = now.getDate();
var nowMonth = now.getMonth();
var nowYear = now.getFullYear();
for (var i = 1;&n