格式化日期、時間



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函數

    <div>格式化日期</div>
    <div class="date">{{ $filters.formatDate(timestamp,'yyyy-MM-dd') }}</div>

    image.png


  • 格式爲:yyyy/MM/ddspa

    <div>格式化日期</div>
    <div class="date">{{ $filters.formatDate(timestamp,'yyyy/MM/dd') }}</div>

    image.png


  • 格式爲:yyyy-MM-dd hh:mm:sscode

    <div>格式化日期</div>
    <div class="date">{{ $filters.formatDate(timestamp,'yyyy-MM-dd hh:mm:ss') }}</div>

    image.png


  • 格式爲:yyyy-MM-dd 星期幾orm

    <div>格式化日期</div>
    <div class="date">{{ $filters.formatDate(timestamp,'yyyy/MM/dd week') }}</div>

    image.png

相關文章
相關標籤/搜索