JS获取日期周数(含年份)

来源:互联网 发布:ui界面设计用什么软件 编辑:程序博客网 时间:2024/05/21 10:02

JS获取日期周数(含年份)

  • 算法符合ISO8601标准(规定第一个星期四为第一周)
  • ISO8601标准http://baike.baidu.com/view/931641.htm
function getYearWeek(dateString){    var da =dateString;//日期格式2015-12-30    //当前日期    var date1 = new Date(da.substring(0,4), parseInt(da.substring(5,7)) - 1, da.substring(8,10));    //1月1号    var date2 = new Date(da.substring(0,4), 0, 1);    //获取1月1号星期(以周一为第一天,0周一~6周日)    var dateWeekNum=date2.getDay()-1;    if(dateWeekNum<0){dateWeekNum=6;}    if(dateWeekNum<4){        //前移日期        date2.setDate(date2.getDate()-dateWeekNum);    }else{        //后移日期        date2.setDate(date2.getDate()+7-dateWeekNum);    }    var d = Math.round((date1.valueOf() - date2.valueOf()) / 86400000);    if(d<0){        var date3 = (date1.getFullYear()-1)+"-12-31";        return getYearWeek(date3);    }else{        //得到年数周数        var year=date1.getFullYear();        var week=Math.ceil((d+1 )/ 7);        return year+"年第"+week+"周";    }}
0 0
原创粉丝点击