美文网首页
JS日期对象当月有31天setMonth问题

JS日期对象当月有31天setMonth问题

作者: QRFF | 来源:发表于2018-06-02 11:45 被阅读0次

当我们使用日期对象的时候,或多或少需要操作的月份,一般直接用setMonth来实现的,可是,当月份天数小于31天的时候,这样子的代码实现是没问题的,

        //例一
        const now = new Date();
        console.log(now) //Wed May 30 2018 11:28:40 GMT+0800 (中国标准时间)
        now.setMonth(now.getMonth()-1)
        console.log(now) //Mon Apr 30 2018 11:28:40 GMT+0800 (中国标准时间)

当月份有31天,问题就来了,比如说我要获取到当前月份的上个月,切好当前月的今天是31号,那我获取到的还是当前月,只不过变成1号,那怎么解决问题呢,可以在setMonth之前先setDate(1)就可以,

       //例二
        const now = new Date();
        console.log(now) //Thu May 31 2018 11:26:33 GMT+0800 (中国标准时间)
        now.setMonth(now.getMonth()-1)
        console.log(now)//Tue May 01 2018 11:26:33 GMT+0800 (中国标准时间)

        //例三 解决方案
        const now = new Date();
        console.log(now) //Thu May 31 2018 11:43:08 GMT+0800 (中国标准时间)
        now.setDate(1)
        now.setMonth(now.getMonth()-1)
        console.log(now) //Sun Apr 01 2018 11:43:08 GMT+0800 (中国标准时间)

附:

  • 对象的month是从0开始的,即0为一月份
  • new Date()是获取系统时间而不是互联网时间

相关文章

  • JS日期对象当月有31天setMonth问题

    当我们使用日期对象的时候,或多或少需要操作的月份,一般直接用setMonth来实现的,可是,当月份天数小于31天的...

  • JS日期对象

    日期对象的基本操作 new Date()获取当前客户端(本机电脑的时间),该时间用户可以修改,所以不能作为重要的参...

  • 命理编程-日柱算法

    根据年月算当月所有的日期 当月所有日期日历算法

  • 日期对象问题

  • JavaScript Date 对象方法总结

    常用 Date 类方法 获取当月天数 通过数组来添加天数 获取当前时间 日期大小比较 js时间戳与日期格式的相互转...

  • JS Date日期对象

    Date实例继承自Date.prototype。可以通过修改构造函数的原型对象来影响Date实例继承的属性和方法。...

  • js日期对象 Date

    日期对象,是系统提供好的var date=new Date(); js定时器 setInterval();setT...

  • JS中日期对象

    一、创建日期对象 二、获取日期对象中的年月日、时分秒 三、设置时间对象 四、倒计时效果 五、常用的组件moment...

  • Math数组及date

    Date对象: Date对象是js提供的日期和时间接口;Date对象有几个静态方法(即直接通过date对象调用的方...

  • js-- date对象

    Date 日期对象,总是遇到点小问题,做个总结来个了断 js 的date对象,基本把常用的功能都封装好了,基本不需...

网友评论

      本文标题:JS日期对象当月有31天setMonth问题

      本文链接:https://www.haomeiwen.com/subject/bjfrsftx.html