0
点赞
收藏
分享

微信扫一扫

js获取近一周、近一个月、近三个月的时间

醉东枫 2023-05-23 阅读 44

获取近一周时间

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));

获取近一个月时间

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));

获取近三个月时间

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));


举报

相关推荐

0 条评论