格式化日期、时间



1. 在全局过滤器中创建格式化日期的方法
  // 格式化日期、时间(类型可以为:字符串、时间戳、Date类型)

  formatDate(timestamp, format) {
    if (timestamp !== '') {
      const time = new Date(timestamp)
      const weekArray = ['日', '一', '二', '三', '四', '五', '六']
      const numRange = function (num) { return (num < 10 ? '0' : '') + num }
      // 如果replace的第1个参数是RegExp, 则会先提取RegExp匹配出的结果,然后用第2个参数逐一替换匹配出的结果
      // 如果replace的第二个参数是回调函数,则每匹配到一个结果就回调一次,每次回调都会传递本次匹配到的结果
      return format.replace(/yyyy|MM|dd|hh|mm|ss|week/g, function (result) {
        switch (result) {
          case 'yyyy':
            return numRange(time.getFullYear())
          case 'MM':
            return numRange(time.getMonth() + 1)
          case 'dd':
            return numRange(time.getDate())
          case 'mm':
            return numRange(time.getMinutes())
          case 'hh':
            return numRange(time.getHours())
          case 'ss':
            return numRange(time.getSeconds())
          case 'week':
            return '星期' + weekArray[time.getDay()]
        }
      })
    }
    return timestamp
  }



2. 在组件中调用方法
  • 格式为:yyyy-MM-dd

    格式化日期
    {{ $filters.formatDate(timestamp,'yyyy-MM-dd') }}

    格式化日期、时间_第1张图片


  • 格式为:yyyy/MM/dd

    格式化日期
    {{ $filters.formatDate(timestamp,'yyyy/MM/dd') }}

    image.png


  • 格式为:yyyy-MM-dd hh:mm:ss

    格式化日期
    {{ $filters.formatDate(timestamp,'yyyy-MM-dd hh:mm:ss') }}

    image.png


  • 格式为:yyyy-MM-dd 星期几

    格式化日期
    {{ $filters.formatDate(timestamp,'yyyy/MM/dd week') }}

    image.png


你可能感兴趣的:(格式化日期、时间)