关于javascript:格式化日期时间

10次阅读

共计 1170 个字符,预计需要花费 3 分钟才能阅读完成。


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>


  • 格局为:yyyy/MM/dd

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


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

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


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

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


正文完
 0