版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
1 首先在vue项目中
npm install moment --save
2. 定义时间格式化全局过滤器
在main.js中或组件中导入该组件
import moment from 'moment'
3. 用法一
在全局中定义时间格式化
在main.js中引入moment
// 定义一个全局过滤器实现日期格式化
Vue.filter('datefmt', function (input, fmtstring) {
return moment.unix(input).format(fmtstring)
})
这样就可以在我们需要对时间进行格式化的组件中进行使用了,如下:
<div>
<span>{{item.publishdate | datefmt('MM/DD')}}</span>
<span>{{item.publishdate | datefmt('YYYY')}}</span>
</div>
这里我有两个span标签,第一个是将时间戳格式为 月/日(11/24) 这样的格式,第二个则是格式化为年份值(如2018这样的)
4.用法二:
如果我们项目所需的格式都是统一格式的(例如都显示为2018-09-06),那么可以在main.js中进行统一格式样式的设置,如下:
Vue.filter('datefmt', function (input, 'YYYY-MM-DD') {
return moment.unix(input).format('YYYY-MM-DD')
})
然后在组件中这样使用即可
<span>{{item.publishdate | datefmt}}</span>
5.用法三
在vue methods方法中使用
const data = moment(时间戳).format('YYYY-MM-DD HH:mm:ss')
console.log(data) // "2019-05-25 08:23:56"
6 . 时间转时间戳
直接把字符串传到Date对象里他会帮你转成时间的
var timeStr1 = '2018/08/08';
var timeStr2 = '2018/12/12';
var time1 = new Date(timeStr1).getTime();
var time2 = new Date(timeStr2).getTime();
console.log(time1 ) // 1558972800000