vue.js

关注公众号 jb51net

关闭
首页 > 网络编程 > JavaScript > javascript类库 > vue.js > vue将时间戳转换成日期格式

vue实现将时间戳转换成日期格式

作者:yumihe

这篇文章主要介绍了vue实现将时间戳转换成日期格式方式,具有很好的参考价值,希望对大家有所帮助,

vue将时间戳转换成日期格式

(1)创建一个处理时间格式的js,内容如下:

export function formatDate(date, fmt) {
  if (/(y+)/.test(fmt)) {
    fmt = fmt.replace(RegExp.$1, (date.getFullYear() + '').substr(4 - RegExp.$1.length))
  }
  let o = {
    'M+': date.getMonth() + 1,
    'd+': date.getDate(),
    'h+': date.getHours(),
    'm+': date.getMinutes(),
    's+': date.getSeconds()
  }
  for (let k in o) {
    if (new RegExp(`(${k})`).test(fmt)) {
      let str = o[k] + ''
      fmt = fmt.replace(RegExp.$1, (RegExp.$1.length === 1) ? str : padLeftZero(str))
    }
  }
  return fmt
}
function padLeftZero(str) {
  return ('00' + str).substr(str.length)
}

(2)在vue文件中需要格式化时间戳的地方,使用filters过滤器,做如下处理:

<template>
  <div class="date">{{item.pass_time | formatDate}}</div>
</template>
<script type="text/ecmascript-6">
  import {formatDate} from 'common/js/date'
  export default {
    filters: {
      formatDate(time) {
        time = time * 1000
        let date = new Date(time)
        console.log(new Date(time))
        return formatDate(date, 'yyyy-MM-dd hh:mm')
      }
    }
  }
</script>

补充:

time应为格式为13位unix时间戳,如果拿到的时间戳是10位的unix时间戳,因此需要乘以1000。

vue时间戳的用法

1.新建一个js文件用来存放时间格式的代码

代码如下:

export function timestampToTime(timestamp) {
? ? let now = new Date(timestamp*1000);
? ? let year = now.getFullYear(); ? ?
? ? let month = now.getMonth()+1; ? ?
? ? let date = now.getDate(); ? ?
? ? let hour = now.getHours(); ? ?
? ? let minute = now.getMinutes(); ? ?
? ? let second = now.getSeconds(); ? ?
? ? return year+"-"+month+"-"+date+" ? "+hour+":"+minute+":"+second;
}

2.在需要对时间戳进行格式化处理的组件中引入上面的js文件

代码如下(示例):

import {timestampToTime} from "@/src/utils/formdate.js"
//对时间进行格式化
date=timestampToTime(time)

总结

以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。

您可能感兴趣的文章:
阅读全文