当前位置 博文首页 > 文章内容

    js获取最近一周一个月三个月时间的简单示例

    作者:shunshunshun18 栏目:未分类 时间:2021-12-28 15:08:32

    本站于2023年9月4日。收到“大连君*****咨询有限公司”通知
    说我们IIS7站长博客,有一篇博文用了他们的图片。
    要求我们给他们一张图片6000元。要不然法院告我们

    为避免不必要的麻烦,IIS7站长博客,全站内容图片下架、并积极应诉
    博文内容全部不再显示,请需要相关资讯的站长朋友到必应搜索。谢谢!

    另祝:版权碰瓷诈骗团伙,早日弃暗投明。

    相关新闻:借版权之名、行诈骗之实,周某因犯诈骗罪被判处有期徒刑十一年六个月

    叹!百花齐放的时代,渐行渐远!



    获取近一周时间

    var end = new Date();
    var year = end.getFullYear();
    var month = end.getMonth() + 1;//0-11表示1-12月
    var day = end.getDate();
    var dateObj = {};
    dateObj.end = year + '-' + month + '-' + day;
    if (day - 7 <= 0) {   //如果在当月7日之前
        var startMonthDay = new Date(year, (parseInt(month) - 1), 0).getDate();    //1周前所在月的总天数
        if (month - 1 <= 0) { //如果在当年的1月份
          dateObj.start = (year - 1) + '-' + 12 + '-' + (31 - (7 - day));
        } else {
          dateObj.start = year + '-' + (month - 1) + '-' + (startMonthDay - (7 - day));
        }
    } else {
        dateObj.start = year + '-' + month + '-' + (day - 7);
    }
    console.log(JSON.stringify(dateObj))
    1.2.3.4.5.6.7.8.9.10.11.12.13.14.15.16.17.
    

    获取近一个月时间

    var end = new Date();
    var year = end.getFullYear();
    var month = end.getMonth() + 1;//0-11表示1-12月
    var day = end.getDate();
    var dateObj = {};
    dateObj.end = year + '-' + month + '-' + day;
    var endMonthDay = new Date(year, month, 0).getDate();    //当前月的总天数
    if(month - 1 <= 0){ //如果是1月,年数往前推一年<br>    
        dateObj.start = (year - 1) + '-' + 12 + '-' + day;
    }else{
        var startMonthDay = new Date(year, (parseInt(month) - 1), 0).getDate();
        if(startMonthDay < day){    //1个月前所在月的总天数小于现在的天日期
            if(day < endMonthDay){        //当前天日期小于当前月总天数
                dateObj.start = year + '-' + (month - 1) + '-' + (startMonthDay - (endMonthDay - day));
            }else{
                dateObj.start = year + '-' + (month - 1) + '-' + startMonthDay;
            }
        }else{
            dateObj.start = year + '-' + (month - 1) + '-' + day;
        }
    }
    console.log(JSON.stringify(dateObj))
    1.2.3.4.5.6.7.8.9.10.11.12.13.14.15.16.17.18.19.20.21.22.
    

    获取近三个月时间

    var end = new Date();
    var year = end.getFullYear();
    var month = end.getMonth() + 1;//0-11表示1-12月
    var day = end.getDate();
    var dateObj = {};
    dateObj.end = year + '-' + month + '-' + day;
    var endMonthDay = new Date(year, month, 0).getDate();    //当前月的总天数
    if(month - 3 <= 0){ //如果是1、2、3月,年数往前推一年
        var start3MonthDay = new Date((year - 1), (12 - (3 - parseInt(month))), 0).getDate();    //3个月前所在月的总天数
        if(start3MonthDay < day){    //3个月前所在月的总天数小于现在的天日期
            dateObj.start = (year - 1) + '-' + (12 - (3 - month)) + '-' + start3MonthDay;
        }else{
            dateObj.start = (year - 1) + '-' + (12 - (3 - month)) + '-' + day;
        }
    }else{
        var start3MonthDay = new Date(year, (parseInt(month) - 3), 0).getDate();    //3个月前所在月的总天数
        if(start3MonthDay < day){    //3个月前所在月的总天数小于现在的天日期
            if(day < endMonthDay){        //当前天日期小于当前月总天数,2月份比较特殊的月份
                dateObj.start = year + '-' + (month - 3) + '-' + (start3MonthDay - (endMonthDay - day));
            }else{
                dateObj.start = year + '-' + (month - 3) + '-' + start3MonthDay;
            }
        }else{
            dateObj.start = year + '-' + (month - 3) + '-' + day;
        }
    }
    console.log(JSON.stringify(dateObj))

    New Date()与setDate()参数

    相信网上已经有很多关于日期的文章了,这里只是我自己再工作中遇到的问题然后加以总结;

    new Date()

    new Date() 一共有六种形式,五种带参数的一种不带参数的;

    1. new Date();自然不用多说,默认获取的是当前日期。
    2. new Date("month1 dd,yyyy hh:mm:ss"); 注意:参数是字符形式
    3. new Date("month1 dd,yyyy"); 注意:参数是字符形式
    4. new Date(yyyy,month2,dd,hh,mm,ss); 注意:参数不是字符
    5. new Date(yyyy,month2,dd); 注意:参数不是字符
    6. new Date(ms); 

    参数说明:

    month1:用英文,表示月份名称;从January到December ;

    dd:表示日期,1-31

    yyyy:表示四位表示的年份

    hh:mm:ss:表示时间,时(0-23)-分(0-59)-秒(0-59)

    month2:是Number型的月份;从0-11;即1月到12月

    ms:从1970年1月1日之间相差的毫秒数

    特别提醒:有些是字符形式有些不是

    总结