Moment.js常用日期方法

1、安装

安装方式:Moment.js 中文网

2、常用格式化规则

 

 3、常用日期封装

获取当前日期

// 获取当前日期
export const getCurDate = () => {
    // 输出 2021-12-17 11:34:18
    return moment().format('YYYY-MM-DD HH:mm:ss')
}

获取N个月前的第一天

// 获取n个月前的第一天
export const getLmStartDate = (n) => {
    // 输出 2021-11-01 00:00:00     当前日期2021-12-17 11:29:13
    return moment().subtract(n,'M').startOf('month').format('YYYY-MM-DD HH:mm:ss')
}

console.log(getLmStartDate(2));     // 2021-10-01 00:00:00
console.log(getLmStartDate(10));    // 2021-02-01 00:00:00
console.log(getLmStartDate(20));    // 2020-04-01 00:00:00

获取N个月前的最后一天

// 获取N个月前的最后一天
export const getLmEndDate = (n) => {
    // return moment().subtract(1,'M').endOf('month').format('YYYY-MM-DD HH:mm:ss') // 2021-11-30 23:59:59
    return moment().subtract(n,'M').endOf('month').hour(0).minute(0).second(0).format('YYYY-MM-DD HH:mm:ss') // 2021-11-30 00:00:00
}

console.log(getLmEndDate(2));     // 2021-10-31 00:00:00
console.log(getLmEndDate(10));    // 2021-02-28 00:00:00
console.log(getLmEndDate(20));    // 2020-04-30 00:00:00

获取本年的第一天

// 获取本年的第一天
export const getCysDate = () => {
    return moment().startOf('year').format('YYYY-MM-DD HH:mm:ss');  // 2021-01-01 00:00:00
}

获取本年的最后一天

// 获取本年的最后一天
export const getCyeDate = () => {
    // return moment().endOf('year').format('YYYY-MM-DD HH:mm:ss') // 2021-12-31 23:59:59
    return moment().endOf('year').hour(0).minute(0).second(0).format('YYYY-MM-DD HH:mm:ss') //2021-12-31 00:00:00
}

获取当月第一天

// 获取当月第一天
export const getCmsDate = () => {
    return moment().startOf('month').format('YYYY-MM-DD HH:mm:ss')  // 2021-12-01 00:00:00
}

获取当月最后一天

// 获取当月最后一天
export const getCmeDate = () => {
    // return moment().endOf('month').format('YYYY-MM-DD HH:mm:ss')    // 2021-12-31 23:59:59
    return moment().endOf('month').hour(0).minute(0).second(0).format('YYYY-MM-DD HH:mm:ss')    // 2021-12-31 00:00:00
}

获取N个月后的第一天

// 获取N个月后的第一天
export const getNmsDate = (n) => {
    return moment().add(n,'M').startOf('month').format('YYYY-MM-DD HH:mm:ss')   // 2022-01-01 00:00:00
}

console.log(getNmsDate(2));     // 2022-02-01 00:00:00
console.log(getNmsDate(10));    // 2022-10-01 00:00:00
console.log(getNmsDate(20));    // 2023-08-01 00:00:00

获取N个月后的最后一天

// 获取N个月后的最后一天
export const getNmeDate = (n) => {
    // return moment().add(1,'M').endOf('month').format('YYYY-MM-DD HH:mm:ss')     // 2022-01-31 23:59:59
    return moment().add(n,'M').endOf('month').hour(0).minute(0).second(0).format('YYYY-MM-DD HH:mm:ss') // 2022-01-31 00:00:00
}

console.log(getNmeDate(2));     // 2022-02-28 00:00:00
console.log(getNmeDate(10));    // 2022-10-31 00:00:00
console.log(getNmeDate(20));    // 2023-08-31 00:00:00

获取N个月前的日期

// 获取N个月前的日期
export const getNmlDate = (n) => {
    // 获取的时分秒是当前日期的时分秒,如果你希望是别的时分秒,则设置hour()、minute()、second()即可
    // 如果你不需要时分秒,去掉'HH:mm:ss即可
    // return moment().subtract(3,'M').hour(0).minute(0).second(0).format('YYYY-MM-DD HH:mm:ss')
    return moment().subtract(n,'M').format('YYYY-MM-DD HH:mm:ss')
}

console.log(getNmlDate(2));     // 2021-10-17 15:15:08
console.log(getNmlDate(5));     // 2021-07-17 15:15:08
console.log(getNmlDate(13));    // 2020-11-17 15:15:48

获取N个月后的日期

// 获取N个月后的日期
export const getNmnDate = (n) => {
    return moment().add(n,'M').format('YYYY-MM-DD HH:mm:ss')
}

console.log(getNmnDate(3));     // 2022-03-17 15:22:31
console.log(getNmnDate(10));    // 2022-10-17 15:22:31
console.log(getNmnDate(15));    // 2023-03-17 15:22:31

获取N天前的日期

// 获取N天前的日期
export const getNdaysDate = (n) => {
    return moment().subtract(n,'days').format('YYYY-MM-DD HH:mm:ss')
}

console.log(getNdaysDate(3));       // 2021-12-14 15:28:51
console.log(getNdaysDate(27));      // 2021-11-20 15:28:51
console.log(getNdaysDate(366));     // 2020-12-16 15:28:51

获取N天后的日期

// 获取N天后的日期
export const getNdaynDate = (n) => {
    return moment().add(n,'days').format('YYYY-MM-DD HH:mm:ss')
}

console.log(getNdaynDate(3));       // 2021-12-20 15:32:14
console.log(getNdaynDate(27));      // 2022-01-13 15:32:14
console.log(getNdaynDate(366));     // 2022-12-18 15:32:14

获取N年前的日期

// 获取N年前的日期
export const getNyearsDate = (n) => {
    return moment().subtract(n,'years').format('YYYY-MM-DD HH:mm:ss')
}

console.log(getNyearsDate(3));      // 2018-12-17 16:09:55
console.log(getNyearsDate(39));     // 1982-12-17 16:10:06
console.log(getNyearsDate(100));    // 1921-12-17 16:10:17

获取N年后的日期

// 获取N年后的日期
export const getNyearnDate = (n) => {
    return moment().add(n,'years').format('YYYY-MM-DD HH:mm:ss')
}

console.log(getNyearnDate(3));      // 2024-12-17 16:17:06
console.log(getNyearnDate(39));     // 2060-12-17 16:17:06
console.log(getNyearnDate(100));    // 2121-12-17 16:17:06

获取N个星期前的日期

// 获取N个星期前的日期
export const getNweeksDate = (n) => {
    return moment().subtract(n,'weeks').format('YYYY-MM-DD HH:mm:ss')
}

console.log(getNweeksDate(2));      // 2021-12-03 16:20:34
console.log(getNweeksDate(10));     // 2021-10-08 16:20:34
console.log(getNweeksDate(58));     // 2020-11-06 16:20:34

获取N个星期后的日期

// 获取N个星期后的日期
export const getNweeknDate = (n) => {
    return moment().add(n,'weeks').format('YYYY-MM-DD HH:mm:ss')
}

console.log(getNweeknDate(2));      // 2021-12-31 16:24:08
console.log(getNweeknDate(10));     // 2022-02-25 16:24:08
console.log(getNweeknDate(58));     // 2023-01-27 16:24:08

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值