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

目录

  • 获取近一周时间
  • 获取近一个月时间
  • 获取近三个月时间
  • New Date()与setDate()参数
  • 总结

获取近一周时间
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月,年数往前推一年
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获取最近一周一个月三个月时间的文章就介绍到这了,更多相关js获取一周一个月三个月时间内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

    推荐阅读