js获取本月,本年,近一月,近3月,近1年的日期范围,获取近n月的日期范围

站长软件开发6个月前技术分享497
js获取本月,本年,近一月,近3月,近1年的日期范围,获取近n月的日期范围

js获取本月,本年,近一月,近3月,近1年的日期范围,获取近n月的日期范围

function getnMonth(i) {
  console.log("获取近i月的时间段", i)
  var now = new Date()
  var year = now.getFullYear()
  var month = now.getMonth() + 1;
  var newmonth=month < 10 ? "0" + month : month
  var day = now.getDate()
  var dateObj = {}
  dateObj.endTime = year + "-" + newmonth + "-" + day
  var nowMonthDay = new Date(year, month, 0).getDate() //当前月的总天数
  if (i == 12) {
    //如果是12月,年数往前推一年<br>
    dateObj.startTime = year - 1 + "-" + newmonth + "-" + day
  } else if (month - i <= 0) {
    // 如果前推i月小于0,年数往前推一年<br>
    dateObj.startTime = year - 1 + "-" + (12+month-i) + "-" + day
  } else {
    var endTimeMonthDay = new Date(year, parseInt(month) - i, 0).getDate()
    if (endTimeMonthDay < day) {
      // i个月前所在月的总天数小于现在的天日期
	  let mon=month - i;
	  mon1=mon < 10 ? "0" + mon : mon
      if (day < nowMonthDay) {
        // 当前天日期小于当前月总天数
        dateObj.startTime = year + "-" + mon1 + "-" + (endTimeMonthDay - (nowMonthDay - day))
      } else {
        dateObj.startTime = year + "-" +mon1+ "-" + endTimeMonthDay
      }
    } else {
      dateObj.startTime = year + "-" + mon1 + "-" + day
    }
  }
  return [dateObj.startTime,dateObj.endTime]
}
getnMonth(3)//获取近3月时间段
//['2023-11-23', '2024-01-23']

获取当月、当年时间范围:

/**
 * 当月
 * @param {Date} date
 * @returns {String} 当月
 */
export function getCurmonth(date) {
  const time = date ? new Date(date) : new Date()
  const y = time.getFullYear()
  let m = time.getMonth() + 1  
  let d = time.getDate()
  m = m < 10 ? "0" + m : m
  const d1 = "01"
  return [[y, m, d1].join("-"),[y, m, d].join("-")]
}
/**
 * 当年
 * @param {Date} date
 * @returns {String} 当年
 */
export function getCuryear(date) {
  const time = date ? new Date(date) : new Date()
  const y = time.getFullYear()
  let m = "1"; 
  let m1 = time.getMonth() + 1  
  let d = time.getDate()
  m = m < 10 ? "0" + m : m
  const d1 = "01"
  return [[y, m, d1].join("-"),[y, m, d].join("-")]
}


联系站长:

相关文章

【简单一行】使用js去掉空格方法-原生js代码实现JavaScript

【简单一行】使用js去掉空格方法-原生js代码实现JavaScript

【简单一行】使用js去掉空格方法-原生js代码实现JavaScript str为要去除空格的字符串:1、去掉所有空格:str=str.replace(/\s+/g,"");  &...

php根据id和pid把单级数组重新组合为树结构

php根据id和pid把单级数组重新组合为树结构

function list_to_trees($list, $pk='id', $pid = 'pid', $child =&nb...

css显示三行文字,溢出显示省略号

css显示三行文字,溢出显示省略号

css显示三行文字,溢出显示省略号(显示任意行,可以把数字3替换成其他数字):.text-wrap {   display: -webkit-box; &n...

js使用正则表达式获取html字符串中的img标签的src组成数组

js使用正则表达式获取html字符串中的img标签的src组成数组

js使用正则表达式获取html字符串中的img标签的src组成数组exec() 方法用于检索字符串中的正则表达式的匹配。如果字符串中有匹配的值返回该匹配值,否则返回 null。var htm...

原生js把时间戳转为日期格式年月日时分秒

原生js把时间戳转为日期格式年月日时分秒

原生js把时间戳转为日期格式年月日时分秒function parsetime(timestamp){     let timelength...

发表评论    

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。