美文网首页
vue 格式化日期时间 'yyyy-MM-dd hh:mm:ss

vue 格式化日期时间 'yyyy-MM-dd hh:mm:ss

作者: 李大鱼_ | 来源:发表于2020-12-14 17:57 被阅读0次

    一、自己封装date pipe

    创建date.pipe.js

    export function datePipe(timestamp, format = 'yyyy-MM-dd hh:mm:ss') {
      let date = new Date(timestamp);
      var o = {
        'y+': date.getFullYear(),
        'M+': date.getMonth() + 1, // 月份 "d+": value.getDate(), // 日
        'd+': date.getDate(),
        'h+': date.getHours(), // 小时 "m+": value.getMinutes(), // 分 "s+": value.getSeconds(), // 秒
        'm+': date.getMinutes(),
        's+': date.getSeconds()
      };
      if (/(y+)/.test(format)) {
        format = format.replace(RegExp.$1, (date.getFullYear() + '').substr(4 - RegExp.$1.length));
      }
      for (var k in o) {
        if (new RegExp('(' + k + ')').test(format)) {
          format = format.replace(
            RegExp.$1,
            RegExp.$1.length == 1 ? o[k] : ('00' + o[k]).substr(('' + o[k]).length)
          );
        }
      }
      return format;
    }
    

    main.js引入

    import { datePipe } from './core/pipes/date.pipe';
    Vue.filter('date', datePipe);
    

    使用:

     <div>{{item.create_time | date('yyyy-MM-dd hh:mm')}}</div>
    

    安装 Day.js :一个轻量的处理时间和日期的 JavaScript 库

    github地址

    安装

    NPM:
    npm install dayjs --save
    
    import dayjs from 'dayjs'
    // 或者 CommonJS
    // var dayjs = require('dayjs');
    dayjs().format();
    
    CDN:
    <!-- 最新的压缩后的 JavaScript 文件 -->
    <script src="https://unpkg.com/dayjs"></script>
    <script>
      dayjs().format();
    </script>
    

    API中文文档

    API参考:

    • 当前时间
      dayjs()
    • 时间字符串
      dayjs('2018-06-03')
    • 时间戳
      dayjs(1528361259484)
    • Date 对象
      dayjs(new Date(2018,8,18))
    • 复制
      dayjs().clone()
    • 检测当前 Dayjs 对象是否是一个有效的时间
      dayjs().isValid()
    • 获取
      年 : dayjs().year()
      月 : dayjs().month()
      日 : dayjs().date()
      星期 : dayjs().day()
      时 : dayjs().hour()
      分 : dayjs().minute()
      秒 : dayjs().second()
      毫秒 : dayjs().millisecond()
    • 设置
      dayjs().set('year',2017)
      dayjs().set('month',9)
    • 增加时间并返回一个新的 Dayjs() 对象
      dayjs().add(7, 'day')
      dayjs().add(7, 'year')
    • 减少时间并返回一个新的 Dayjs() 对象
      dayjs().subtract(7, 'year')
      dayjs().subtract(7, 'month')
    • 返回当前时间的开头时间的 Dayjs() 对象,如月份的第一天。
      dayjs().startOf('year')
      dayjs().startOf('month')
    • 返回当前时间的末尾时间的 Dayjs() 对象,如月份的最后一天。
      dayjs().endOf('month')
      dayjs().endOf('year')
    • 格式化
      dayjs().format()
      dayjs().format('YYYY-MM-DD dddd HH:mm:ss.SSS A')
    • 时间差
      dayjs('2018-06-08').diff(dayjs('2017-06-01'),'years')
      dayjs('2018-06-08').diff(dayjs('2017-06-01'),'day')
      dayjs('2018-06-08').diff(dayjs('2017-06-01'),'hour')
    • Unix 时间戳 (毫秒)
      dayjs().valueOf()
    • Unix 时间戳 (秒)
      dayjs().unix()
    • 返回月份的天数
      dayjs().daysInMonth()
    • 返回原生的 Date 对象
      dayjs().toDate()
    • 返回包含时间数值的数组
      dayjs().toArray()
    • 当序列化 Dayjs 对象时,会返回 ISO8601 格式的字符串
      dayjs().toJSON() //2018-06-08T02:44:30.599Z
    • 返回 ISO8601 格式的字符串
      dayjs().toISOString() //2018-06-08T02:46:06.554Z
      -返回包含时间数值的对象
      dayjs().toObject()
    • 字符串
      dayjs().toString()
    • 检查一个 Dayjs 对象是否在另一个 Dayjs 对象时间之前
      dayjs('2018-06-01').isBefore(dayjs('2018-06-02'))
    • 检查一个 Dayjs 对象是否和另一个 Dayjs 对象时间相同
      dayjs().isSame(dayjs())
    • 检查一个 Dayjs 对象是否在另一个 Dayjs 对象时间之后
      dayjs().isAfter(dayjs())

    相关文章

      网友评论

          本文标题:vue 格式化日期时间 'yyyy-MM-dd hh:mm:ss

          本文链接:https://www.haomeiwen.com/subject/ewtbgktx.html