zoukankan      html  css  js  c++  java
  • 周数的处理

    一、时间转周数

    这个原理比较简单,找到当前周与1月1号相同星期数的一天,然后相减,除以一周的毫秒数,再加1就得到了,代码如下:

    // 时间转周数:参数(时间戳)
    function time2week(time){
    
        var current=new Date(time);
    
        var current_year=current.getFullYear();
        var current_month=current.getMonth();
        var current_date=current.getDate();
        var current_week=current.getDay();
    
        var thisYear=new Date(current_year,0,1);       // 这一年第一天
        var thisYear_week=thisYear.getDay();
    
        var thisWeek=new Date(current_year,current_month,thisYear_week - current_week + current_date);  // 与这一年第一天同样的星期几
    
        var cut=thisWeek - thisYear;
    
        var week=cut / (1000 * 60 * 60 * 24 * 7) + 1;
    
        return week;
    }
    var timeline=1410249135;
    alert(time2week(timeline * 1000));    // 37

    二、周数转时间

    这个比上面的稍微复杂点,先求这一年第一天是周几,然后确定这一年的第二周的周一是哪一天(因为第一周的周一可能在上一年),再根据周数判断这周的周一和周末是哪一天,代码如下:

    // 周数转时间:参数(哪年哪周,如201437)
    function week2date(str){
    
        str=str.toString();
    
        var res={};
    
        var year=str.substring(0,4);
        var week=str.substring(4);
    
        var thisYear=new Date(year,0,1);
        var thisYear_week=thisYear.getDay();
    
        // 获得第week周的周一
        thisYear.setDate(parseInt("2876543".charAt(thisYear_week))+(week-2)*7);
        
        res.start={
            year: thisYear.getFullYear(),
            month: thisYear.getMonth() + 1,
            data: thisYear.getDate()
        };
    
        // 获得第week周的周日
        thisYear.setDate(thisYear.getDate()+6);
        
        res.end={
            year: thisYear.getFullYear(),
            month: thisYear.getMonth() + 1,
            data: thisYear.getDate()
        };
    
        return res;
    }
    console.log(week2date(201437));
    // Object {start: Object, end: Object}
    //     start: Object
    //         data: 8
    //         month: 9
    //         year: 2014
    //     end: Object
    //         data: 14
    //         month: 9
    //         year: 2014
  • 相关阅读:
    一、模板的渲染
    十六、ajax上传图片 mvc
    十五、API请求接口-远程服务器返回错误: (400) 错误的请求错误
    九、操作(在结果中搜索+查询该表,单独几个字段查询,通过子查询方式查询)
    一、Vue分页实现
    【2019-10-29】除非你变成你自己
    【2019-10-28】美好在于细节心态
    【2019-10-27】理智是罗盘,感情是大风
    【2019-10-26】日积月累的小惠生者
    【2019-10-25】从错误和失败中获得经验
  • 原文地址:https://www.cnblogs.com/ccforeverd/p/3963162.html
Copyright © 2011-2022 走看看