Adam6799
/**
 * [获取某天是该年内的第N周]
 * @example getWeek()
 * @access  public
 * @author Adam
 * @created 2020-12-11T12:04:54+0800
 * @param   {String} now
 * @return  {[int]}
 */
function getWeek(now=\'2020-12-11\') {
    today = new Date(now);
    var firstday = new Date();  // 该年的第一天
    year = now.slice(0, now.indexOf(\'-\'));
    firstday.setYear(year);
    firstday.setMonth(0);
    firstday.setDate(1);  // 设置成这年的一月一号
    var timing = today - firstday;
    var days = Math.ceil(timing / (24 * 60 * 60 * 1000));  // 距离第一天共有多少天
    days += firstday.getDay()+1;  // 假如今年一月一号是星期三,第一周就已经过去了三天,加上西方认为星期天是一周的第一天
    var weeks = Math.ceil(days / 7);  // 获得周数
    // console.log(today, firstday, days, weeks);
    return weeks;
}

getWeek();  // 50
getWeek(\'2019-1-7\');  // 2

 

分类:

技术点:

相关文章: