[JavaScript] 获取当前日期对应的前三个月日期

function getThreeMonthAgoDate() {
    const date = new Date();
    const year = date.getFullYear();
    const month = date.getMonth() + 1;
    const day = date.getDate();

    // const currentDate = year + "-" + month + "-" + day;
    // console.log('***.currentDate',currentDate)

    const days = parseInt(month) < 3 ? new Date(year-1, month+12-3, 0) : new Date(year, month-3, 0);  
    const maxDays = days.getDate(); //对应的三个月前的month,这个月的最大天数

    const yearAgo = parseInt(month) < 3 ? year-1 : year;
    const monthAgo = parseInt(month) < 3 ? month+9 : month-3;
    const dayAgo = parseInt(maxDays) < parseInt(day) ? maxDays : day;
    const threeMonthsAgoDate = yearAgo + "-" + monthAgo + "-" + dayAgo;
    return threeMonthsAgoDate;
}

eg.

currentDate = "2024-5-31"

threeMonthsAgoDate = "2024-2-29"

  • 8
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
JavaScript获取当前时间三个的方法有多种实现方式。以下是其中两种实现方法: 方法一:使用Date对象和setMonth()方法 首先,使用Date对象获取当前时间份。然后,使用setMonth()方法将份减去3,即可得到当前时间向三个的时间。 代码示例: ```javascript var date = new Date(); date.setMonth(date.getMonth() - 3); console.log(date); ``` 在控制台输出的结果中,可以看到日期已经向推了三个。 需要注意的是,setMonth()方法会自动处理润的问题。如果当前时间是230日,向推3个,就会变成1130日,而不是九份的最后一天。 方法二:使用moment.js库 moment.js是一个JavaScript日期处理库。它提供了一系列丰富的方法,可以方便地处理时间和日期之间的转换和计算。 要使用moment.js获取当前时间三个的时间,只需要使用它提供的subtract()方法即可。 代码示例: ```javascript var now = moment(); var threeMonthsAgo = moment().subtract(3, 'months'); console.log(threeMonthsAgo); ``` 在控制台输出的结果中,可以看到日期已经向推了三个。 需要注意的是,使用moment.js需要先引入moment.js库文件,可以从官网下载并引入到页面中。 以上是JavaScript获取当前时间三个的两种实现方式,可以根据实际需要选择适合的方法。同时,还需要注意处理时间的时区问题,以确保在多个时区中都能正确显示时间。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值