【问题标题】:How to transform a date into day of the week counting from 0 on Sunday with Moment.js?如何使用 Moment.js 将日期转换为星期天从 0 开始计数的星期几?
【发布时间】:2020-10-26 17:23:38
【问题描述】:

我目前正在使用const weekday = moment().isoWeekday() 来获取星期几。它以星期日为 0 开始,以星期六为 6 结束。

现在,我得到以下格式的日期,作为字符串:06-07-2020

我如何使用时刻来找出这个日期是一周中的哪一天(数字如上,从星期日开始为 0)?

【问题讨论】:

  • 这能回答你的问题吗? moment.js, how to get day of week number
  • 部分。它确实得到了一个数字,但不是正确的数字(今天应该是 1,我得到的是 0)。有时,返回值为 NaN。
  • 如果你得到的是 NaN,它不会识别你输入的日期。 moment("06-07-2020", "MM-DD-YYYY")

标签: javascript momentjs


【解决方案1】:

您可以通过momentjs 使用.day() 函数轻松获取星期几。

const date = moment("06-07-2020","DD-MM-YYYY") //Today
let day_of_week = date.day()
console.log(day_of_week)
<script src="https://cdnjs.cloudflare.com/ajax/libs/moment.js/2.27.0/moment.min.js"></script>

【讨论】:

  • 我使用的格式是06-07-2020。此外,这有时会产生一个数字,有时会产生 NaN
  • @kiabbott。它工作得很好,没有推出任何 NaN,我已经测试了各种值。
  • 06-07-2020 不明确。是 MM-DD-YYYY 格式(6 月 7 日)还是 DD-MM-YYYY 格式(7 月 6 日)?
  • @JeremyThille,我相信她指的是 DD-MM-YYYY,因为我在之前的答案版本中提供了相同的日期,以 YYYY-MM-DD 的顺序排列。
【解决方案2】:

如果 day 函数返回 NaN,那么它没有正确读取您的日期。告诉 Moment 它应该期待什么日期格式,然后再询问它是哪一天:

moment("06-07-2020", "MM-DD-YYYY").day();

moment("06-07-2020", "DD-MM-YYYY").day();

【讨论】:

    猜你喜欢
    • 2011-01-29
    • 2014-01-11
    • 1970-01-01
    • 2017-07-24
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-12-01
    相关资源
    最近更新 更多