1. 获取当前日期

使用实例:getnowDate('-'); getnowDate('.'); 

结果实例:‘2022-09-09’; ‘2022.09.09’

/**
 * 获取当前日期
 * {param:String} str 日期连接字符('-', '.', ...)
 */
getnowDate(str) {
  const date = new Date()
  return date.getFullYear() + str + (date.getMonth() >= 9 ? (date.getMonth() + 1) : '0' + (date.getMonth() + 1)) + str + (date.getDate() < 10 ? ('0' + date.getDate()) : date.getDate())
}

2. 获取前几天日期

使用实例:getDay('1', '/'); getDay('-2', '-'); (当前日期:2022-10-10)

结果实例:‘2022/10/11’; ‘2022-10-08’

/**
 * 获取前几天日期
 * {param:String} num 与当前日期天数差('1', '-2', ...)
 * {param:String} str 日期连接字符('-', '.', ...)
 */
getDay(num, str) {
  var today = new Date()
  var nowTime = today.getTime()
  var ms = 24 * 3600 * 1000 * num
  today.setTime(parseInt(nowTime + ms))
  var oYear = today.getFullYear()
  var oMoth = (today.getMonth() + 1).toString()
  if (oMoth.length <= 1) oMoth = '0' + oMoth
  var oDay = today.getDate().toString()
  if (oDay.length <= 1) oDay = '0' + oDay
  return oYear + str + oMoth + str + oDay
},

3. 获取几个月前的输入日期

使用实例:GetPreMonthDay('2022.10.10', 3)

结果实例:‘2022.07.10’

/**
 * 获取几个月前的输入日期
 * {param:DateTime} date 输入日期(YYYY.MM.DD)
 * {param:number } monthNum 月数
 */
GetPreMonthDay(date, monthNum) {
  var dateArr = date.split('.')
  var year = dateArr[0] // 获取当前日期的年份
  var month = dateArr[1] // 获取当前日期的月份
  var day = dateArr[2] // 获取当前日期的日
  var days = new Date(year, month, 0)
  days = days.getDate() // 获取当前日期中月的天数
  var year2 = year
  var month2 = parseInt(month) - monthNum
  if (month2 <= 0) {
    var absM = Math.abs(month2)
    year2 = parseInt(year2) - Math.ceil(absM / 12 == 0 ? 1 : parseInt(absM) / 12)
    month2 = 12 - (absM % 12)
  }
  var day2 = day
  var days2 = new Date(year2, month2, 0)
  days2 = days2.getDate()
  if (day2 > days2) {
    day2 = days2
  }
  if (month2 < 10) {
    month2 = '0' + month2
  }
  var t2 = year2 + '.' + month2 + '.' + day2
  return t2
}

4. 中国标准时间转换成年月日时分秒

/**
 * 中国标准时间转换成年月日时分秒
 * 实例:js_biao_year('Tue Oct 11 2022 08:09:10 GMT+0800')
 * 2022-10-09 08:09:10
 */
js_biao_year(time) {
    var date = new Date(time)
    var y = date.getFullYear()
    var m = date.getMonth() + 1
    m = m < 10 ? ('0' + m) : m
    var d = date.getDate()
    d = d < 10 ? ('0' + d) : d
    var h = date.getHours()
    h = h < 10 ? ('0' + h) : h
    var minute = date.getMinutes()
    minute = minute < 10 ? ('0' + minute) : minute
    var s = date.getSeconds()
    s = s < 10 ? ('0' + s) : s
    return y + '-' + m + '-' + d + 'T' + h + ':' + minute + ':' + s
    // return y + '-' + m + '-' + d
}

5. 获取指定日期的前后日期,并用年月日显示

/**
 * 获取前后日期并用年月日显示
 * 实例:getNextDate('2022-10-11', -2)
 * 2022年10月09日
 */
getNextDate(date, day) {
  var dd = new Date(date) // '2022-10-11' 转换为中国标准时间
  console.log('测试', dd)
  dd.setDate(dd.getDate() + day)
  var y = dd.getFullYear()
  var m = dd.getMonth() + 1 < 10 ? '0' + (dd.getMonth() + 1) : dd.getMonth() + 1
  var d = dd.getDate() < 10 ? '0' + dd.getDate() : dd.getDate()
  return y + '年' + m + '月' + d + '日'
},

Logo

为开发者提供学习成长、分享交流、生态实践、资源工具等服务,帮助开发者快速成长。

更多推荐