【问题标题】:Moment.js returns 1 as last day of monthMoment.js 返回 1 作为月份的最后一天
【发布时间】:2016-10-18 20:19:26
【问题描述】:

我试图将一个月的最后一天作为整数。所以应该返回 12 月 31 月份。

moment().endOf('month').day()

然而,这将返回 1 - 即使

moment().endOf('month').format('YYYY-MM-DD')

返回正确的日期。有人可以解释为什么以及如何获得实际日期吗?

【问题讨论】:

  • 这是您的实际代码吗?好像 10 月 31 日是星期一
  • moment().endOf('month').date()

标签: javascript date momentjs


【解决方案1】:

要获取月份中的哪一天,您必须改用.date()。请参阅文档的相关部分:http://momentjs.com/docs/#/get-set/date/

【讨论】:

    【解决方案2】:

    day() 返回星期几,而不是日期

    你想改用date()

    【讨论】:

      【解决方案3】:
      moment().endOf('month').format('DD')
      

      还有

      moment().endOf('month').date();
      

      【讨论】:

        【解决方案4】:
        var lastDate = moment().endOf('month').format('DD') 
        

        返回日期,您可以将其解析为整数

        【讨论】:

          【解决方案5】:

          正如 galchen 所说,day() 返回星期几。要获取日期,请操作字符串:

          var lastDay = moment().endOf('month').format('YYYY-MM-DD').split('-')[2];
          

          【讨论】:

          • 如果你想使用.format 那么为什么不使用.format('DD')
          • 这个没必要,用.date()就行了。
          猜你喜欢
          • 2017-12-06
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2013-07-27
          相关资源
          最近更新 更多