js获取近一周、近一月、近三月、近半年等方法记录

//获取当前时间
const now = new Date()
console.log('当前日期', now.toLocaleDateString())
//获取近一周时间
getLastWeek() {
			    var now = new Date();
			    var year = now.getFullYear();
			    var month = now.getMonth() + 1;//0-11表示1-12月
			    var day = now.getDate();
			    var dateObj = {};
			    dateObj.now = year + '-' + month + '-' + day;
			    if(day - 7 <= 0){   //如果在当月7日之前
			        var lastMonthDay = new Date(year, (parseInt(month) - 1), 0).getDate();    //1周前所在月的总天数
			        if(month - 1 <= 0){ //如果在当年的1月份
			            dateObj.last = (year - 1) + '-' + 12 + '-' + (31 - (7 - day));
			        }else{
			            dateObj.last = year + '-' + (month - 1) + '-' + (lastMonthDay - (7 - day));
			        }
			    }else{
			        dateObj.last = year + '-' + month + '-' + (day -7);
			    }
			    return dateObj;
			},
//获取近一月的时间
getLastMonth() {
			    var now = new Date();
			    var year = now.getFullYear();
			    var month = now.getMonth() + 1;//0-11表示1-12月
			    var day = now.getDate();
			    var dateObj = {};
			    dateObj.now = year + '-' + month + '-' + day; 
			    var nowMonthDay = new Date(year, month, 0).getDate();    //当前月的总天数
			    if(month - 1 <= 0){ //如果是1月,年数往前推一年<br>     
			        dateObj.last = (year - 1) + '-' + 12 + '-' + day;
			    }else{
			        var lastMonthDay = new Date(year, (parseInt(month) - 1), 0).getDate();  
			        if(lastMonthDay < day){    // 1个月前所在月的总天数小于现在的天日期
			            if(day < nowMonthDay){        //当前天日期小于当前月总天数
			                dateObj.last = year + '-' + (month - 1) + '-' + (lastMonthDay - (nowMonthDay - day));
			            }else{
			                dateObj.last = year + '-' + (month - 1) + '-' + lastMonthDay;
			            }
			        }else{
			            dateObj.last = year + '-' + (month - 1) + '-' + day;
			        }
			    }
			    return dateObj;
			},
//获取近三月的时间
getLast3Month() {
			    var now = new Date();
			    var year = now.getFullYear();
			    var month = now.getMonth() + 1;//0-11表示1-12月
			    var day = now.getDate();
			    var dateObj = {};
			    dateObj.now = year + '-' + month + '-' + day;
			      var nowMonthDay = new Date(year, month, 0).getDate();    //当前月的总天数
			    if(month - 3 <= 0){ // 如果是1、2、3月,年数往前推一年
			        var last3MonthDay = new Date((year - 1), (12 - (3 - parseInt(month))), 0).getDate();    // 3个月前所在月的总天数
			        if(last3MonthDay < day){    // 3个月前所在月的总天数小于现在的天日期
			            dateObj.last = (year - 1) + '-' + (12 - (3 - month)) + '-' + last3MonthDay;
			        }else{
			            dateObj.last = (year - 1) + '-' + (12 - (3 - month)) + '-' + day;
			        }
			    }else{
			        var last3MonthDay = new Date(year, (parseInt(month) - 3), 0).getDate();    //3个月前所在月的总天数
			        if(last3MonthDay < day){    //3个月前所在月的总天数小于现在的天日期
			            if(day < nowMonthDay){        //当前天日期小于当前月总天数,2月份比较特殊的月份
			                dateObj.last = year + '-' + (month - 3) + '-' + (last3MonthDay - (nowMonthDay - day));
			            }else{
			                dateObj.last = year + '-' + (month - 3) + '-' + last3MonthDay;
			            }
			        }else{
			            dateObj.last = year + '-' + (month - 3) + '-' + day;
			        }
			    }
			    return dateObj;
			},
//获取近半年日期时间
getLast6Month() {
			    var now = new Date();
			    var year = now.getFullYear();
			    var month = now.getMonth() + 1;//0-11表示1-12月
			    var day = now.getDate();
			    var dateObj = {};
			    dateObj.now = year + '-' + month + '-' + day;
			    var nowMonthDay = new Date(year, month, 0).getDate();    //当前月的总天数
			    now.setMonth(now.getMonth() - 6);
				dateObj.last = now.toLocaleDateString()
			    return dateObj;
			},
  • 1
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值