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

 更新时间:2021年12月28日 11:45:48   作者:云_  
时间的获取和格式化是我们经常遇到的问题,下面这篇文章主要给大家介绍了关于利用js如何获取最近一周一个月三个月时间的相关资料,文中通过实例代码介绍的非常详细,需要的朋友可以参考下

获取近一周时间

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日之间相差的毫秒数

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

总结

到此这篇关于js获取最近一周一个月三个月时间的文章就介绍到这了,更多相关js获取一周一个月三个月时间内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • JavaScript 三种不同位置代码的写法

    JavaScript 三种不同位置代码的写法

    客户端脚本JavaScript在写法上其实有很多种方法,它们的放置位置也非常之多。
    2009-10-10
  • 关于IE中getElementsByClassName不能用的问题解决方法

    关于IE中getElementsByClassName不能用的问题解决方法

    今天使用getElementsByClassName写了段小程序,在IE6、8中测试的时候就出现问题了,浏览器报错,经搜索找到了一个比较好的方法,是个老外写的一个方法
    2013-08-08
  • JS实现的base64加密解密完整实例

    JS实现的base64加密解密完整实例

    这篇文章主要介绍了JS实现的base64加密解密,以完整实例形式分析了JavaScript基于base64编码实现加密与解密的具体步骤与相关技巧,并附带了相关的加密解密在线工具地址供大家参考,需要的朋友可以参考下
    2016-04-04
  • JavaScript中提前声明变量或函数例子

    JavaScript中提前声明变量或函数例子

    这篇文章主要介绍了JavaScript中提前声明变量或函数的例子,本文介绍的可以说是一种小技巧或者说一种特性,需要的朋友可以参考下
    2014-11-11
  • 第一次记录Bootstrap table学习笔记(1)

    第一次记录Bootstrap table学习笔记(1)

    这篇文章主要为大家介绍了第一次学习Bootstrap table表格插件的笔记,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2017-05-05
  • RxJS的入门指引和初步应用

    RxJS的入门指引和初步应用

    这篇文章主要介绍了RxJS的入门指引和初步应用,RxJS是一个强大的Reactive编程库,提供了强大的数据流组合与控制能力,但是其学习门槛一直很高,本次分享期望从一些特别的角度解读它在业务中的使用,而不是从API角度去讲解。,需要的朋友可以参考下
    2019-06-06
  • 关于ckeditor在bootstrap中modal中弹框无法输入的解决方法

    关于ckeditor在bootstrap中modal中弹框无法输入的解决方法

    今天小编就为大家分享一篇关于ckeditor在bootstrap中modal中弹框无法输入的解决方法,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2019-09-09
  • javascript框架设计之种子模块

    javascript框架设计之种子模块

    本文给大家介绍的是司徒正美的javascript框架设计的第二章种子模块的相关内容,算是一个小小的读后感,小伙伴们可以参考下。
    2015-06-06
  • input输入密码变黑点密文的实现方法

    input输入密码变黑点密文的实现方法

    本文主要介绍了Jquery Easyui验证扩展,Easyui验证,Easyui校验,js正则表达式。具有一定的参考价值,下面跟着小编一起来看下吧
    2017-01-01
  • JavaScript类型检测的方法实例教程

    JavaScript类型检测的方法实例教程

    这篇文章主要给大家介绍了关于JavaScript类型检测的相关资料,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2021-04-04

最新评论