Vue 时间插件 moment 使用
下载安装
npm install moment -s
全局方法
main.js 里面注册生成
import * as moment from 'moment' Vue.prototype.$moment = moment
全局过滤器
全局过滤器实现日期格式化
// 用法:1.{{ item.time | format("YYYY-MM-DD HH:mm:ss") }} // 用法:2. this.$moment(this.time).format("YYYY-MM-DD HH:mm:ss"); Vue.filter('format', function (input, fmtstring) { // 使用momentjs这个日期格式化类库实现日期的格式化功能 return moment(input).format(fmtstring); });
使用
常用相对时间
现在时间: 2022年6月22日10:24:38
// 2020-05-30 相对于现在是 2 年前 this.$moment("2020-05-30", "YYYY-MMDD").fromNow() // 当前日期开始即:2022/06/22/00:00:00 相对于现在是 10 小时前 this.$moment().startOf('day').fromNow() // 当前日期结束即:2022/06/22/24:00:00 相对于现在是 14 小时内 this.$moment().endOf('day').fromNow() // 当前日期小时开始即:2022/06/22/10:00:00 相对于现在是 24 分钟前 this.$moment().startOf('hour').fromNow()
常用格式化日历时间
第二个参数 传 'days' 是天 、'month' 是月 、'year' 是年 this.$moment().subtract(30, 'days').format("YYYY-MM-DD"); // 当前时间往前推 30 天 this.$moment().subtract(10, 'days').format("YYYY-MM-DD"); // 当前时间往前推 10 天 this.$moment().subtract(3, 'days').format("YYYY-MM-DD"); // 当前时间往前推 3 天 this.$moment().subtract(1, 'days').format("YYYY-MM-DD"); // 当前时间往前推 1 天 this.$moment().calendar(); // 当前时间(今天) this.$moment().add(1, 'days').format("YYYY-MM-DD"); // 当前时间往后推 1 天 this.$moment().add(3, 'days').format("YYYY-MM-DD"); // 当前时间往后推 3 天 this.$moment().add(10, 'days').format("YYYY-MM-DD"); // 当前时间往后推 10 天 this.$moment().add(30, 'days').format("YYYY-MM-DD"); // 当前时间往后推 30 天
常用格式化
this.$moment().format("YYYY-MM-DD") // 获取当前日期 this.$moment(value).format("YYYY-MM-DD") // 格式化指定日期 value 的格式 年-月-日 this.$moment(value).valueOf() // 获取指定日期 value 的时间戳 this.$moment(value).daysInMonth() // 获取指定日期 value 所在月的天数,不传获取当前月 this.$moment().startOf('month').weekday() // 获取当前月第一天是星期几this.$moment().format('MM') // 获取当前月份