matrix | 前端技术博客

October 09 2018 —— Vue

Vue.js 渲染时间戳处理


UlysoUlyso

项目中对获取的数据渲染时,有这样一个需求

1<template>
2 <div>
3 <div v-for="list in lists" :key="list.id">{{ list.created_time }}</div>
4 </div>
5</template>
6

上方的 created_time 默认的时间格式是 2018-10-09 08:13:00。希望能够自定义格式,搜索一番后找到以下的方法:

涉及到时间,可以使用 momentjs 这个库,也可以像我一样,使用 dayjs

首先安装 dayjs

1yarn add dayjs
2

然后在 main.js 中使用以下方法:

1// 引入 dayjs
2import dayjs from 'dayjs'
3
4// 使用 filter
5Vue.filter('formatTime', function (value, formatString) {
6 formatString = formatString || 'YYYY-MM-DD';
7 return dayjs(value).format(formatString);
8});
9

然后就可以放心对渲染时间戳进行处理了:

1<template>
2 <div>
3 <div v-for="list in lists" :key="list.id">{{ list.created_time | formatTime }}</div>
4 </div>
5</template>
6