这个计算器能做什么
这个工具用来计算距离美国感恩节还剩多少天。美国感恩节固定在每年 11 月的第四个星期四。你只需输入一个起始日期(默认是今天),计算器就会返回精确的天数,并以「几周零几天」的方式直观展示,同时给出当年感恩节的具体日期。需要提醒的是,这是美国的节日,对应日期不一定与你所在国家的假期相同。
如何使用
想从今天开始倒数,保持日期不变即可;如果要提前规划,也可以输入指定的年、月、日。如果你输入的那一年感恩节已经过去,计算器会自动跳转到下一年的感恩节,因此结果始终是一个正向的倒计时。
计算公式详解
美国感恩节不是固定日期,而是由规则确定的。我们先从目标年份的 11 月 1 日开始,找出当月第一个星期四:假设 11 月 1 日落在星期 d(星期日 = 1 …… 星期六 = 7),那么第一个星期四就在第 \(((5 - d + 7) \bmod 7) + 1\) 天。再加上 21 天(也就是三周),即可得到第四个星期四——感恩节。倒计时的算法,是用感恩节日期与你的起始日期之间相差的毫秒数,除以 86,400,000(一天的毫秒数),再四舍五入为整数天。
$$\text{Days} = \text{Thanksgiving} - \text{Year}\text{-}\text{Month}\text{-}\text{Day}$$
$$\begin{gathered} \text{Days} = \frac{T_{\text{Thanksgiving}} - F_{\text{From}}}{86400000\ \text{ms/day}} \\[1.5em] \text{where}\quad \left\{ \begin{aligned} F &= \text{date}\big(\text{Year},\ \text{Month},\ \text{Day}\big) \\ T &= \text{Nov } (21 + D_{\text{1st Thu}})\text{, } \text{Year} \\ \text{Weeks} &= \left\lfloor \text{Days} / 7 \right\rfloor,\quad \text{Rem} = \text{Days} \bmod 7 \end{aligned} \right. \end{gathered}$$
实例演算
以 2024 年为例,11 月 1 日是星期五。第一个星期四是 11 月 7 日,那么第四个星期四就是 \(\text{11 月 7 日} + 21\ \text{天} = \textbf{2024 年 11 月 28 日}\)。如果从 2024 年 11 月 1 日开始计算,那就是 $$28 - 1 = \textbf{27}\ \text{天}$$ 后到感恩节。
常见问题
感恩节每年都是同一天吗?不是。它始终落在 11 月的第四个星期四,因此具体日期会在 11 月 22 日至 11 月 28 日之间浮动。
这适用于加拿大感恩节吗?不适用。本计算器采用的是美国规则。加拿大感恩节是 10 月的第二个星期一。
感恩节过去之后会怎样?计算器会自动倒数到下一年的感恩节,因此你看到的始终是一个面向未来的倒计时。