给大家分享个moment插件小技巧吧
moment插件小技巧
1.本月(当前整个月)YYYY-MM
eg:2022-01----2022-01
注:this.$moment()
是我main.js全局的,你也可以按需引入
import Moment from 'moment'
Vue.prototype.$moment = Moment
let date1 = this.$moment().startOf('month').format('yyyy-MM')
let date2 = this.$moment().endOf('month').format('yyyy-MM')
2.本月+日期YYYY-MM-DD
例如一月份的1号开始,到当前日期结束
eg:2022-01-01----2022-01-20
let date1 = this.$moment(new Date()).startOf('month').format('YYYY-MM-DD')
let date2 = this.$moment(new Date()).format('YYYY-MM-DD')
简写,可忽略new Date()
let date1 = this.$moment().startOf('month').format('YYYY-MM-DD')
let date2 = this.$moment().format('YYYY-MM-DD')
3.本年YYYY-MM
例如本年的一月份的1号开始,到当前年份的12月结束
eg:2022-01----2022-12
let date1 = this.$moment().startOf('year').format('yyyy-MM')
let date2 = this.$moment().endOf('year').format('yyyy-MM')
4.本年YYYY-MM-DD
例如本年的一月份的1号开始,到当前年份的12月31日结束
eg:2022-01-01----2022-12-31
let date1 = this.$moment().startOf('year').format('yyyy-MM-DD')
let date2 = this.$moment().endOf('year').format('yyyy-MM-DD')
5.前七天YYYY-MM-DD
例如这个月的今天的前七天
以20号为列eg:2022-01-13----2022-01-20
let date1 = this.$moment(new Date()).subtract(7, 'days').format('YYYY-MM-DD')
let date2 = this.$moment(new Date()).format('YYYY-MM-DD')
6.前30天、前60天、前90天都是一样的YYYY-MM-DD
根据自己需求来定,你也可以写成前2个月、前3个月…
前60天以20号为列eg:2021-11-21----2022-01-20
let date1 = this.$moment(new Date()).subtract(60, 'days').format('YYYY-MM-DD')
let date2 = this.$moment(new Date()).format('YYYY-MM-DD')
7.计算两个时间之间相差天数
注意:日期一定要是大的减小的,否则日期会变成负的,除非你需要倒计时
之类的,那是可以的
let startDate = moment('2022-01-01 09:00').format('YYYY-MM-DD')
let endDate = moment('2022-02-01 09:00').format('YYYY-MM-DD')
console.log('相差天数是1-------->', moment(endDate).diff(startDate, 'day')) // 31天
// 或者可以一步写成下面的方法
let date1 = this.moment('2022-02-01 09:00').diff(this.moment('2022-01-01 09:00'), 'day', true).toFixed(1)
console.log('相差天数是2-------->', date1 ) // 31.0 可以根据自己需求来看需不需要小数点
8.上个月
// 上个月-写法一
let startDate = moment().subtract(1,'months').startOf('month').format('YYYY-MM-DD')
let endDate = moment().subtract(1,'months').endOf('month').format('YYYY-MM-DD')
console.log('上个月-------->', startDate ,endDate)
// 上个月-写法二
this.startEndTime = [moment(new Date()).subtract(1,'months').startOf('month').format('YYYY-MM-DD'),moment(new Date()).subtract(1,'months').endOf('month').format('YYYY-MM-DD')];