【问题标题】:How to find "Days since Sunday" with the JavaScript Date() object如何使用 JavaScript Date() 对象查找“自星期日以来的天数”
【发布时间】:2018-04-20 09:16:11
【问题描述】:

C++ 时间结构 struct tm 上的 tm_wday(例如,工作日)属性表示自星期日以来的天数,为 0-6 之间的整数。这通常用于夏令时计算;例如,“11 月的第一个星期日。”
http://www.cplusplus.com/reference/ctime/tm/

JavaScript 中的等值是如何计算的?换句话说,如何使用 JavaScript Date() 对象找到“自星期日以来的天数”?

我用 Google 搜索了一下,并查看了 MDN 文档,但似乎没有等效的方法。
https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date

是否有人知道已编写的 polyfill 或 get_days_since_sunday() 方法?有没有一种简单的方法可以做到这一点,还是我需要编写它?谢谢,基思 :^)

【问题讨论】:

  • 请注意,如果您要将其用于任何“一周中的第 N 天”目的,请注意并非每个人都在周日开始他们的一周。
  • 正如 Tom scott 在Computerphile video about timezone 中所说,您应该始终找到一个可以做到这一点的库。我建议 momentJS 函数 moment().day() 返回精确的那个。

标签: javascript date dst weekday


【解决方案1】:

您可以使用Date#getDay 返回从零开始的工作日索引,从星期日开始:

new Date.getDay() // returns 2, if today is a Tuesday

【讨论】:

  • ...实际上在 OP 链接的文档中!
  • 啊,好吧,我明白了... tyvm 我一直在寻找“自星期日以来的天数”类型的东西。今天的 C++ 时间太多了。
【解决方案2】:

有一种简单的方法可以求出今天和上周日之间的天数。 如果您有任何问题,请随时问我。

var date = new Date();
date.getDay();

【讨论】:

    猜你喜欢
    • 2014-07-01
    • 1970-01-01
    • 2011-07-12
    • 1970-01-01
    • 2014-12-08
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多