如何使用 Moment.js 获取今天和该月最后一天之间的天数?

Com*_*etZ 3 javascript arrays date momentjs vue.js

这是我现在拥有的代码:

  const moment = require('moment')
    const m = moment


    const currDay = m().format('D')
    const dayOfWeek = m().format('dddd')
    const daysInMonth = m().daysInMonth()

    const startOfMonth = moment().startOf('month').format('YYYY-MM-DD hh:mm');
    const endOfMonth   = moment().endOf('month').format('YYYY-MM-DD hh:mm');
Run Code Online (Sandbox Code Playgroud)

我需要创建一个日历行,其中第一个项目是今天的日期,其余的日历项目将是根据当前月份剩余的天数,这样我就可以在 HTML 中渲染每一天维埃。

例如:周三 8 日、周四 9 日、周五 10 日 ... 周五 31 日。

dan*_*anh 5

我认为OP犯了过早格式化的常见错误。格式很容易看到中间结果,但这样做会产生一个不利于额外计算的字符串。

尝试仅处理日期对象。仅当您必须执行以下操作时才转换为字符串:(a) 呈现给人类读者,或 (b) 序列化以进行存储或传输。

无需格式化即可工作...

const daysRemainingThisMonth = moment().endOf('month').diff(moment(), 'days');
console.log(`There are ${daysRemainingThisMonth} days remaining this month`)
Run Code Online (Sandbox Code Playgroud)
<script src="https://cdnjs.cloudflare.com/ajax/libs/moment.js/2.29.1/moment.min.js"></script>
Run Code Online (Sandbox Code Playgroud)