参考
vue使用Moment插件格式化时间
vue中使用moment
使用npm命令安装moment
npm install moment --save
一、直接使用
安装依赖后直接导入进行使用,不太方便,在要使用的每个组件中都需要导入
import moment from 'moment'
console.log(moment(val).format('YYYY-MM-DD HH:mm:ss'))
二、在main.js中全局导入进行使用
1、main.js 挂载 引入
import moment from 'moment'//导入文件
Vue.prototype.$moment = moment;//赋值使用
2、在组件中使用this.$moment
this.$moment('string').format("YYYY-DD-MM")
this.$moment('2018-09-19T05:54:32.767Z').format("YYYY-DD-MM")
三、在main.js文件里使用moment定义全局过滤器
// The Vue build version to load with the `import` command
// (runtime-only or standalone) has been set in webpack.base.conf with an alias.
import Vue from 'vue'
import App from './App'
import router from './router'
import Moment from 'moment'
// 定义全局时间戳过滤器
// filter两个参数 第一个是函数名 第二个是时间格式化处理的函数,要格式化的value值默认是第一个参数
Vue.filter('formatDate', function(value,pattern = 'YYYY-MM-DD HH:mm:ss') {
return Moment(value).format(pattern)
})
Vue.config.productionTip = false
/* eslint-disable no-new */
new Vue({
el: '#app',
router,
components: { App },
template: '<App/>'
})
3、在组件里使用
使用默认的pattern参数
<div class="time">{{item.rateTime | formatDate}}</div>
使用自定义的pattern参数
<div class="time">{{item.rateTime | formatDate('YYYY-MM-DD HH:mm:ss')}}</div>
四、使用 moment-timezone设置时区
1、安装两个依赖
npm install moment --save
npm install moment-timezone--save
2、基本使用方法和moment一样
import moment from 'moment-timezone'
// console.log(moment.tz.guess()) 如果你不知道你自己当前所在地的时区,请使用此代码查看.
moment.tz.setDefault("Asia/Shanghai");
moment(val).format('YYYY-MM-DD HH:mm:ss')
五、常用的一些日期格式化方法
1、日期格式化
moment().format('MMMM Do YYYY, h:mm:ss a'); // 四月 16日 2019, 12:24:48 中午
moment().format('dddd'); // 星期二
moment().format("MMM Do YY"); // 4月 16日 19
moment().format('YYYY [escaped] YYYY'); // 2019 escaped 2019
moment().format(); // 2019-04-16T12:24:48+08:00
2、相对时间
moment("20111031", "YYYYMMDD").fromNow(); // 7 年前
moment("20120620", "YYYYMMDD").fromNow(); // 7 年前
moment().startOf('day').fromNow(); // 12 小时前
moment().endOf('day').fromNow(); // 12 小时内
moment().startOf('hour').fromNow(); // 28 分钟前
3、日历时间
moment().subtract(10, 'days').calendar(); // 2019年4月6日
moment().subtract(6, 'days').calendar(); // 上周三中午12点28
moment().subtract(3, 'days').calendar(); // 上周六中午12点28
moment().subtract(1, 'days').calendar(); // 昨天中午12点28分
moment().calendar(); // 今天中午12点28分
moment().add(1, 'days').calendar(); // 明天中午12点28分
moment().add(3, 'days').calendar(); // 本周五中午12点28
moment().add(10, 'days').calendar(); // 2019年4月26日
4、多语言支持
moment().format('L'); // 2019-04-16
moment().format('l'); // 2019-04-16
moment().format('LL'); // 2019年4月16日
moment().format('ll'); // 2019年4月16日
moment().format('LLL'); // 2019年4月16日中午12点28分
moment().format('lll'); // 2019年4月16日中午12点28分
moment().format('LLLL'); // 2019年4月16日星期二中午12点28分
moment().format('llll'); // 2019年4月16日星期二中午12点28分