【问题标题】:date-fns isSameWeek not working as expecteddate-fns isSameWeek 未按预期工作
【发布时间】:2026-01-21 18:55:01
【问题描述】:

我是date-fns 的新手,但凭直觉,我希望这是true

isSameWeek(new Date(2021, 11, 11), new Date(2021, 11, 12))

但实际上是false

我一定是错过了什么?

看起来星期四似乎是一周的开始,因为这是真的:

isSameWeek(new Date(2021, 11, 12), new Date(2021, 11, 18))

编辑:当我这样做时

isSameWeek(new Date(2021, 11, 11), new Date(2021, 11, 12), {weekStartsOn: 1})

现在是真的……我很困惑。

【问题讨论】:

  • 即使将 weekStartsOn 设置为 0(文档说它是默认值),结果仍然相同。

标签: javascript date date-fns


【解决方案1】:

月份从0 开始,即一月。

所以11 是十二月。

12 月 11 日是星期六,12 日是星期日(下周开始)。 所以他们不在同一周。

12 月 12 日是星期日,12 月 18 日是同一周的星期六。 所以他们在同一周。

【讨论】:

  • 天哪。我很笨。经典错误。我会假装我一生都在用 Matlab 编写代码,索引从 1 开始。