关于javascript:格式化日期时间


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>


评论

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

这个站点使用 Akismet 来减少垃圾评论。了解你的评论数据如何被处理