当前位置:   article > 正文

vue js 封装方法获取当前时间(年月日时分秒)格式_vue 判断日期格式为年月日

vue 判断日期格式为年月日

方法获取格式化时间函数

formatDate (fmt) {
  const date = new Date()
  const o = {
    'Y+': date.getFullYear(),
    'M+': date.getMonth() + 1, // 月
    'D+': date.getDate(), // 日
    'h+': date.getHours(), // 时
    'm+': date.getMinutes(), // 分
    's+': date.getSeconds(), // 秒
    W: date.getDay() // 周
  }
  for (let k in o) {
    if (new RegExp('(' + k + ')').test(fmt)) {
      fmt = fmt.replace(RegExp.$1, () => {
        if (k === 'W') {
          // 星期几
          const week = ['日', '一', '二', '三', '四', '五', '六']
          return week[o[k]]
        } else if (k === 'Y+' || RegExp.$1.length === 1) {
          // 年份 or 小于10不加0
          return o[k]
        } else {
          return ('00' + o[k]).substr(('' + o[k]).length) // 小于10补位0
        }
      })
    }
  }
  return fmt
}
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29

使用

formatDate('YY') // 2022
formatDate('YY-MM')	// 2022-06
formatDate('YY-MM-DD')	// 2022-06-02
formatDate('YY-MM-DD hh:mm:ss')	// 2022-06-02 10:02:23
formatDate('星期W')	// 星期四
  • 1
  • 2
  • 3
  • 4
  • 5

在这里插入图片描述
扩展
1.得到当前(年月日)

getNowMonths() {
      let timeOne = new Date();
      let year = timeOne.getFullYear();
      let month = timeOne.getMonth() + 1;
      let day = timeOne.getDate();
      month = month < 10 ? "0" + month : month;
      day = day < 10 ? "0" + day : day;
      const NOW_MONTHS_AGO = `${year}-${month}-${day}`;
      return NOW_MONTHS_AGO;
    }
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10

2.得到三个月前的(年月日)

getThreeMonths() {
      let timeOne = new Date();
      let year = timeOne.getFullYear();
      let month = timeOne.getMonth() + 1;
      let day = timeOne.getDate();

      // 计算3个月后的月份
      let ThreeMonths = month - 3;

      // 如果小于 0 说明是去年
      if (ThreeMonths <= 0) {
        year = year - 1;
      }
      // 如果 等于 -2 说明当前月是 1 月份 所以三个月前是去年 10月
      if (ThreeMonths === -2) {
        ThreeMonths = 10;
      }
      // 如果 等于 -1 说明当前月是 2 月份 所以三个月前是去年 11月
      if (ThreeMonths === -1) {
        ThreeMonths = 11;
      }
      // 如果 等于 0 说明当前月是 3 月份 所以三个月前是去年 12月
      if (ThreeMonths === 0) {
        ThreeMonths = 12;
      }
      ThreeMonths = ThreeMonths < 10 ? "0" + ThreeMonths : ThreeMonths;

      // 获取当前的时间的日期字符串
      // **如果天数的值为零,则默认返回当前月份的最后一天
      let timeTow = new Date(year, ThreeMonths, 0);
      // 获取三个月前的最后一天
      let ThreeMonthsDay = timeTow.getDate();
      // 判断如果当前月份的天数大于三个月前的天数时,则当前天数等于三个月前的天数
      if (day > ThreeMonthsDay) {
        day = ThreeMonthsDay;
      }
      day = day < 10 ? "0" + day : day;
      // 格式化时间
      // const THREE_MONTHS_AGO = `${year}/${ThreeMonths}/${day}`

      // 生成时间戳  需要的话做
      //const THREE_STAMP = new Date(THREE_MONTHS_AGO).getTime()
      const THREE_STAMP = `${year}-${ThreeMonths}-${day}`;
      return THREE_STAMP;
    },
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  • 31
  • 32
  • 33
  • 34
  • 35
  • 36
  • 37
  • 38
  • 39
  • 40
  • 41
  • 42
  • 43
  • 44
  • 45

进阶版封装方法

function getDate(type = null, number = 0) {
      var nowdate = new Date();
      switch (type) {
        case "day": //取number天前、后的时间
          nowdate.setTime(nowdate.getTime() + 24 * 3600 * 1000 * number);
          var y = nowdate.getFullYear();
          var m = nowdate.getMonth() + 1;
          var d = nowdate.getDate();
          var retrundate = `${y}-${m}-${d}`;
          break;
        case "week": //取number周前、后的时间
          var weekdate = new Date(nowdate + 7 * 24 * 3600 * 1000 * number);
          var y = weekdate.getFullYear();
          var m = weekdate.getMonth() + 1;
          var d = weekdate.getDate();
          var retrundate = `${y}-${m}-${d}`;
          break;
        case "month": //取number月前、后的时间
          nowdate.setMonth(nowdate.getMonth() + number);
          var y = nowdate.getFullYear();
          var m = nowdate.getMonth() + 1;
          var d = nowdate.getDate();
          var retrundate = `${y}-${m}-${d}`;
          break;
        case "year": //取number年前、后的时间
          nowdate.setFullYear(nowdate.getFullYear() + number);
          var y = nowdate.getFullYear();
          var m = nowdate.getMonth() + 1;
          var d = nowdate.getDate();
          var retrundate = `${y}-${m}-${d}`;
          break;
        default: //取当前时间
          var y = nowdate.getFullYear();
          var m = nowdate.getMonth() + 1;
          var d = nowdate.getDate();
          var retrundate = `${y}-${m}-${d}`;
      }
      return retrundate;
    }
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  • 31
  • 32
  • 33
  • 34
  • 35
  • 36
  • 37
  • 38
  • 39

测试
console.log(getDa)

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/我家自动化/article/detail/504942
推荐阅读
相关标签
  

闽ICP备14008679号