JS获取当前是第几周

1.JS获取当前是今年的第几天,今年的第几周
var d1 = new Date();
    var d2 = new Date();
    d2.setMonth( 0 );
    d2.setDate( 1 );
    var rq = d1 - d2;
    var s1 = Math.ceil(rq / ( 24 * 60 * 60 * 1000 ));
    var s2 = Math.ceil(s1 / 7 );
    alert( "今天是本年第" + s1 + "天,第" + s2 + "周" );

2.获取周别(直接保存成Html)


DOCTYPE html>
< html >
     < head >
          < meta charset = "UTF-8" >
          < title > title >
      head >
     < body >
        
< script >   
    'use strict' ;
    function formatDig ( num ){
        return num > 9 ? '' + num : '0' + num;
    }
    function formatDate ( mill ){
        var y =new Date(mill);
        let raws = [
            y.getFullYear(),
            formatDig(y.getMonth() + 1 ),
            formatDig(y.getDate()),
           // y.getDay()||7
        ];
       // let format=['年','月','日 星期'];
       let format = [ '-' , '-' , '' ];
        return String.raw({raw : raws},...format);
    }
    function * createWeeks ( year ){
        const ONE_DAY = 24 * 3600 * 1000 ;
        let start =new Date(year, 0 , 1 ),
               end =new Date(year, 11 , 31 );
        let firstDay = start.getDay() || 7 ,
                lastDay = end.getDay() || 7 ;
        let startTime =+ start,
                endTime = startTime + ( 7 - firstDay) * ONE_DAY ,
                _endTime = end - ( 7 - lastDay) * ONE_DAY ;
        yield [startTime,endTime];
        startTime = endTime + ONE_DAY ;
        endTime = endTime + 7 * ONE_DAY ;
        while (endTime < _endTime){
            yield [startTime,endTime];
            startTime = endTime + ONE_DAY ;
            endTime = endTime + 7 * ONE_DAY ;
        }
        yield [startTime, + end];
    }
   
    let index = 1 ;
    var year_mm = '2017' ;
    var data1_mm = '' ;
    var data2_mm = '' ;
    var datamm_year = {};
    for ( let i of createWeeks(year_mm)){
        let start = i[ 0 ],
                end = i[ 1 ];
        //console.log(`w${formatDig(index++)} ${formatDate(start)}/${formatDate(end)}`);
        data1_mm = `w${formatDig(index ++ )}`;
        data2_mm = `${formatDate(start)}/${formatDate(end)}`;
        datamm_year[data1_mm] = data2_mm;
       
    }
     consol e.log(datamm_year);

script >
          
      body>

你可能感兴趣的:(学习)