vue中使用moment把时间戳 格式化为 时间格式 (YYYY-MM-DD)

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)
})

这样就可以在我们需要对时间进行格式化的组件中进行使用了,如下:

{{item.publishdate | datefmt('MM/DD')}} {{item.publishdate | datefmt('YYYY')}}

这里我有两个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')
})

然后在组件中这样使用即可

{{item.publishdate | datefmt}}

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

你可能感兴趣的:(moment,vue)