Js 取上个月日期【填坑】

工作写代码的时候,有一个地方要根据年月来作为查询条件

  • 一开始是先new Date()获得date对象
  • 再利用他的set方法,将年月set进去

在这里插入图片描述

var date = new Date();
date.setFullYear(2019);
date.setMonth(10); -- 此处的month范围是(0~11),说明我现在设置为11月份

然后我认为应该得到应该是 2019-11 这个日期的对象 但是!!!
出了鬼。。 返回的是 2019-12-01(第二行)

在这里插入图片描述
……

  • 反复折腾了好久,还是未果,突然看到今天是2019-12-31

在这里插入图片描述

心里在想,马上又是新的一年里,自己还是小白白,啥也没学到,好难好难。。。 可是,,,咦---- 不对!
如果今天是31号,我这个date难不成设置成2019-11-31了?(由于我只设置了年和月,日没有设置,所以日应该是初始化时候的)
发现疑问点后,我又开始搜资料

在这里插入图片描述
https://www.cnblogs.com/jc2182/p/11273954.html

可惜没有设置日的方法,这种方法应该不行了

  • 网上继续百度其他方法,终于最后找到了一位老哥的方法(直接利用构造方法)
/**
 * 获取上个月月底日期
 */
function getLastMonthAndDay(){
    var nowDate = new Date();
    var year = nowDate.getFullYear();
    var month = nowDate.getMonth();
    if(month == 0){
        month = 12;
        year = year - 1;
    }
    var lastDay = new Date(year,month,0);
    var yyyyMMdd = year+"年"+month+"月"+lastDay.getDate()+"日";
    console.log(yyyyMMdd);
}

var lastDay = new Date(year,month,0); 可以直接设置自己想要的年月

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值