moment时间插件小技巧(本月、上个月、相差天数、本年...)

47 篇文章 3 订阅

给大家分享个moment插件小技巧吧

1.本月(当前整个月)YYYY-MM

eg:2022-01----2022-01

注:this.$moment()是我main.js全局的,你也可以按需引入

moment

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

moment

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

moment

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

moment

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个月…

moment

前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.计算两个时间之间相差天数

moment

注意:日期一定要是大的减小的,否则日期会变成负的,除非你需要倒计时之类的,那是可以的
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')];
  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值