跳到主要内容
Varlig 指南
Varlig 首页

日期与日历

本页介绍如何书写日期、给日期加上若干天、周或工作日、计算两个日期之间的时间,以及提取星期几或周数等信息。规划项目、倒数假期、推算截止日期或者查看某件事过去了多久时,就来这里看看。

日期以你 Mac 的时钟和时区为准。使用 today、now 或 next monday 等相对日期的答案每天都会变化,而且只要编辑器可见,相对时间就会自动刷新。本页中这类示例显示的是 2026 年 9 月 16 日(星期三)的答案,所以你看到的结果会有所不同。其他示例都使用固定日期。

有关时刻以及 2h 30m 这样的时长,请参阅时刻与时长。有关不同地区之间的时间换算,请参阅时区。

书写日期

像在句子中那样书写日期即可。月份可以放在前面,也可以放在后面,月份名称还可以缩写。

calc
14 June 2025 结果为 June 14, 2025
14th June 2025 结果为 June 14, 2025
June 14, 2025 结果为 June 14, 2025
June 14th 2025 结果为 June 14, 2025
Jun 14 2025 结果为 June 14, 2025
2025-06-14 结果为 June 14, 2025
06/14/2025 结果为 June 14, 2025
June 2025 结果为 June 2025
Q3 2025 结果为 Jul 1 – Sep 30, 2025
first half of 2025 结果为 Jan 1 – Jun 30, 2025
H2 2025 结果为 Jul 1 – Dec 31, 2025

这里的答案采用月份在前的格式(June 14, 2025),与标准的 English (United States) 数字格式一致。如果在设置 › 计算中把 数字格式 设为 System Region,而 Mac 的地区又是日在月前的地区(例如英国、爱尔兰、澳大利亚、新西兰、印度、南非或瑞士),所有日期都会改为日在前显示:14 June 2025、16 June 2025 at 9:00 AM。当年的日期会省略年份,所以今年的 June 14 2026 显示为 June 14。要以其他方式显示日期,请参阅格式化日期。

写法 示例
月份名称、日、年 June 14, 2025、June 14th, 2025、June the 14th 2025、Jun 14 2025
日、月份名称、年 14 June 2025、14th June 2025、14 Jun 2025
ISO 8601 2025-06-14、2025-06-14T09:30:00Z、2025-06-14T15:30:00.125+01:00
带前导零的数字格式 06/14/2025、03/01/2025
用点分隔,日在前 14.06.2025、14.06.25
两位数年份 14 Jun 25、14 Mar 88
月份和年份 June 2025、Jun 2025
季度或半年 Q3 2025、third quarter of 2025、third quarter 2025、the 4th quarter of 2025、first half of 2025、H2 2025,今年的可写 Q3、third quarter 和 first half
今年的日和月 June 14、June 14th、14 June、14th June
星期几 Monday、this friday、next monday、last friday
某月的第几个星期几 first monday of October 2025、last friday of the month
第一天或最后一天 first day of next month、last day of February 2027、end of month
某月的某一天 the 15th of next month、1st of October 2025
相对日期词 today、tomorrow、yesterday、the day after tomorrow
整个时期 next week、this month、last quarter
节假日名称 Christmas、Easter 2027、Thanksgiving 2025
公共假日 public holidays in Ireland in 2027、is 25 December 2026 a holiday in the UK

季度或半年和整周、整月一样,是一个日期范围,而不是某一天。你可以计算其中的天数或工作日数,也可以倒数到它开始(请参阅倒数)。H1 和 H2 必须带年份,因此像 H1 这样的标题仍然是标题;不存在的季度(例如 Q5 2026)会显示错误。

给日期范围加上一个数没有意义,所以 5 + Q3 2026 会显示错误,而不是加上 2026。写在金额前面、带年份的季度、月份或周,是这笔金额的标签:

calc
5 + Q3 2026 结果为 Error: incompatible units
Q3 2026 CNY 50,000 + Q4 2026 CNY 60,000 结果为 110,000.00 CNY
July 2026 CNY 50,000 + August 2026 CNY 60,000 结果为 110,000.00 CNY

数字日期及其他陷阱

带斜杠的数字是最常见的意外来源。

calc
03/01/2025 结果为 March 1, 2025
14/06/2025 结果为 June 14, 2025
14.06.2025 结果为 June 14, 2025
14 Mar 88 结果为 March 14, 1988
February 30 2025 结果为 Unsupported: February 2025 has no day 30; its last day is the 28th
  • 斜杠格式遵循计算所用的地区格式:在美式地区格式中(如这些示例),月份在前,所以 03/01/2025 是 3 月 1 日;在日在前的地区格式中,它是 1 月 3 日。如果第一个数字大于 12,它只能是日,所以 14/06/2025 在任何地区格式中都是 6 月 14 日。要让日期在任何 Mac 上都读作同一天,请写出月份名称或使用 ISO 格式(2025-01-03)。
  • 用点分隔时总是日在前:14.06.2025 在任何地区格式中都是 6 月 14 日。
  • 两位数年份取最近的世纪:00 到 49 表示 2000 到 2049 年,50 到 99 表示 1950 到 1999 年,所以 14 Mar 88 是 1988 年,14 Jun 25 是 2025 年。
  • 前导零可有可无:6/14/2025 和 06/14/2025 是同一个日期。两个数字加斜杠仍然是除法,所以 6/14 是 0.4285714286;三个数字凑不出真实日期时,同样按除法处理。
  • 单独的年份是数字:2025 就是两千零二十五。请把它用在日期中,或者用在 1978 to 2021 这样的范围中。
  • 年份在前的斜杠格式也是日期:2025/06/14 就是 2025 年 6 月 14 日,和 2025-06-14 一样。
  • 月份中不存在的日期会报错:February 30 2025 会提示 2025 年 2 月没有 30 日、最后一天是 28 日,而不会悄悄顺延到 3 月,所以输错也不会给你错误的日期。

节假日

节假日名称可以用在任何能使用日期的地方。不带年份时表示今年的日期;加上年份可以指定具体哪一年。

calc
Easter 2025 结果为 April 20, 2025
Good Friday 2025 结果为 April 18, 2025
Thanksgiving 2025 结果为 November 27, 2025
Chinese New Year 2025 结果为 January 29, 2025
weekday on Christmas 2025 结果为 Thursday
Easter 2030 结果为 April 21, 2030

可用的名称有 Christmas、Christmas Eve、Christmas Day、Boxing Day、Orthodox Christmas、Easter、Easter Sunday、Good Friday、Holy Saturday、Easter Monday、Orthodox Easter、Orthodox Good Friday、New Year's Eve、New Year's Day、Chinese New Year(春节)、Chinese New Year's Eve(除夕)、Ramadan、end of Ramadan、Hanukkah、end of Hanukkah、Valentine's Day、Halloween、Thanksgiving(美国的感恩节)和 Black Friday。犹太历、伊斯兰历和中国农历的节日日期根据各自的历法计算。任何名称都可以加上年份,例如 Easter 2030,以获取更远的日期。详情请参阅节假日与时区名称。

这些名称表示的是日期,而不是某个国家的法定假日。要统计某个国家的公共假日、判断某一天是不是假日,或者让工作日计数跳过这些日子,请参阅公共假日。

今天与相对日期

这些示例取决于今天的日期,所以显示的答案是 2026 年 9 月 16 日的结果。

calc结果取决于今天的日期或实时数据
today 结果为 September 16
tomorrow 结果为 September 17
this friday 结果为 September 18
next monday 结果为 September 21
last friday 结果为 September 11
a week ago 结果为 September 9
a week from today 结果为 September 23
6 weeks from today 结果为 October 28
in 100 days 结果为 December 25
today + 30 days 结果为 October 16
tomorrow at 9am 结果为 Tomorrow at 9:00 AM
next tuesday at 3pm 结果为 Tuesday 3:00 PM
2 weeks from now 结果为 September 30, 2026 at 3:37 PM

from today 按整天计算并给出日期,而 from now 和 ago 从当前时刻开始计算。对于整天和整周,ago 只显示日期,from now 则会保留当天的时间。in 两种情况都适用:in 100 days 是日期,in 2 hours 是时刻。

写法 示例 2026 年 9 月 16 日的答案
N units ago 3 days ago September 13
N units from today 6 weeks from today October 28
N units from date 10 days from October 1 October 11
N workdays from date 10 workdays from today September 30
in N units in 100 days December 25
N units from now a month from now October 16, 2026 at 3:37 PM
从现在起若干小时后或前 24 hours from now Tomorrow at 3:37 PM
小数 1.5 days ago Yesterday at 3:37 AM
date + N units Monday + 3 days Thursday, September 24
N units after date 3 days after Monday Thursday, September 24
N units before date 3 days before Monday Friday
N units from weekday 2 weeks from next monday October 5
weekday after N units Friday after 3 days September 25
后天 the day after tomorrow September 18

单独的星期几(例如 Monday)表示即将到来的那一天。this friday 是即将到来的星期五(包括今天);next monday 和 last friday 分别跳到下一个或上一个,Friday after 3 days 则是从今天起三天后那天或之后的第一个星期五。sunday after next 会跳过即将到来的那个星期日,落在再下一个,the friday after next 和 Friday week 也是如此。

每一行只算出一个日期,所以重复的日程会提示这是一个周期性日期,而不会替你挑选某一天。这包括 every monday、every 2 weeks from 1 October 2025、以某个日期为起点按周期计数(one a week from 5 October 2026),以及每个月的某个星期几(3rd friday of every month)。请直接询问你需要的日期,例如 next monday 或 2 weeks from 1 October 2025。写在金额和时期之间时,every 仍然表示比率,所以每月定期转账 £25 every month 就是 £25.00/month;而每天都会再次到来的时刻仍然是那个时刻,所以 08:00 daily 是 8:00 AM。

calc
every 2 weeks from 1 October 2025 结果为 Unsupported: recurring dates: every 2 weeks
one a week from 5 October 2026 结果为 Unsupported: recurring dates: one a week
2 weeks from 1 October 2025 结果为 October 15, 2025
£25 every month 结果为 £25.00/month
08:00 daily 结果为 8:00 AM

某月中的特定日期

发薪日、垃圾清运日、月末复盘和每月聚会,都可以询问某个月中特定的星期几。写 first 到 fifth(或 1st 到 5th)或 last,接着写星期几,再写 of 或 in 以及月份、季度或年份:

calc
first monday of October 2025 结果为 October 6, 2025
2nd Tuesday of November 2025 结果为 November 11, 2025
last friday of June 2025 结果为 June 27, 2025
first monday in 2025 结果为 January 6, 2025
last day of February 2024 结果为 February 29, 2024
fifth monday of February 2025 结果为 Unsupported: February 2025 has no fifth Monday

如果某个月没有这一天,会显示错误,而不会顺延到下个月,所以你得到的每个日期都可以放心使用。同样的短语也适用于今天前后的月份:

calc结果取决于今天的日期或实时数据
last friday of the month 结果为 September 25
last day of the month 结果为 September 30
first day of next month 结果为 October 1
the 15th of next month 结果为 October 15
first monday of next month 结果为 October 5

end of month 与 last day of the month 相同。start of 和 end of 也可以与年份、季度或半年搭配使用,例如 end of Q4 2025、end of first quarter of 2025 或 start of H2 2025。

下周、下个月及其他时期

next week、this month 和 last quarter 单独使用时,会显示整个时期。每周从星期一开始,到星期日结束。last quarter 是本季度的上一个季度,而 last quarter of 2025 是 2025 年 10 月到 12 月。

calc结果取决于今天的日期或实时数据
next week 结果为 Sep 21 – Sep 27, 2026
next month 结果为 October 2026
last quarter 结果为 Apr 1 – Jun 30, 2026
start of next week 结果为 September 21

如果只需要某一天,请写 start of next week 表示下周一,或写 a week from today 表示下周的同一天。时期也可以用在 days in next month 这样的计数中;请参阅倒数。

加减时间

用 + 和 - 加减天、周、双周、月或年,也可以用 after、before 和 from 写出来。

calc
June 14 2025 + 2 weeks 结果为 June 28, 2025
2 weeks before June 14 2025 结果为 May 31, 2025
10 days after June 14 2025 结果为 June 24, 2025
10 days from October 1 2025 结果为 October 11, 2025
June 14 2025 + 1 fortnight 结果为 June 28, 2025
September 1 2025 + 90 days 结果为 November 30, 2025
Christmas 2025 - 4 weeks 结果为 November 27, 2025

月、年与月末

加上若干个月或若干年时,日期中的“日”保持不变。如果目标月份没有这一天,答案会退到该月的最后一天。

calc
January 31 2025 + 1 month 结果为 February 28, 2025
January 31 2024 + 1 month 结果为 February 29, 2024
February 29 2024 + 1 year 结果为 February 28, 2025
January 31 2025 + 30 days 结果为 March 2, 2025

如果需要精确的天数,请加天数而不是加月份:+ 1 month 和 + 30 days 的结果不同。

两个日期之间的时间

用一个日期减去另一个日期,或者写成 date to date,会以年、月、周和天给出间隔。加上 in days、in weeks 或其他单位即可换算。

calc
June 14 2025 - March 3 2025 结果为 3 months 1 week 4 days
March 3 2025 to June 14 2025 结果为 3 months 1 week 4 days
March 3 2025 to June 14 2025 in days 结果为 103 days
March 3 2025 - June 14 2025 in days 结果为 -103 days
June 14 2025 - March 3 2025 in weeks 结果为 14.7142857143 weeks
1978 to 2021 结果为 43 years

to 总是给出间隔,而减法会保留正负号:较晚的日期减去较早的日期为正数,反过来则为负数。这样就很容易查看某件事是否逾期:

calc
到期日 = March 3 2025
付款日 = March 10 2025
付款日 - 到期日 结果为 1 week
付款日 - 到期日 > 0 days 结果为 true

不带年份的日期按时间先后计算,所以 December 25 - today 是距离圣诞节还剩的时间,today - Friday 是自上周五以来过去的时间。如果两个日期都不带年份,Varlig 会选择最接近的解读,所以 March 12 - April 5 是 -3 weeks 3 days。像日程本上那样把年份只写在末尾的范围,两端都会用上这个年份,所以 29 July to 3 August 2027 是 5 days。

和 to 一样,the difference between 无论哪个日期在前,都会给出间隔。两个日期相加没有意义,所以尝试这样做的行会告诉你应该怎样写:

calc
the difference between June 14 2025 and March 3 2025 结果为 3 months 1 week 4 days
1 June 2025 + 1 March 2025 结果为 Unsupported: dates can't be added; subtract them for the time between, or add a duration

如果要计算完整的周数、月数或年数而不要小数,请参阅计算日期之间的间隔。

工作日

工作日会跳过星期六和星期日。可以用它来推算截止日期(“从周五起十个工作日”),或者计算一个月中可以计费的天数。

calc
June 13 2025 + 10 workdays 结果为 June 27, 2025
10 workdays from October 1 2025 结果为 October 15, 2025
December 30 2025 - 2 workdays 结果为 December 26, 2025
workdays between March 3 2025 and March 31 2025 结果为 20 workdays
March 3 2025 to March 31 2025 in workdays 结果为 20 workdays
workdays in March 2025 结果为 21 workdays
workdays in March 2025 - 3 结果为 18 workdays
workdays in Q4 2025 结果为 66 workdays
workdays in 2025 结果为 261 workdays

workdays、work days、working days、business days 和 weekdays 的含义都相同,school days 和 teaching days 数的也是同样的日子。

workdays between 不包括结束日期,所以 3 月 3 日到 31 日算作 20 个工作日,尽管 3 月有 21 个工作日。workdays in 会计算某个月、季度或年份中的全部工作日。从计数中减去的数字会直接从计数中扣除,所以 workdays in March 2025 - 3 可以把三天假期考虑在内。

要把「三个工作日内」这样的时限换算成具体日期,请按位置来数工作日。单独写时,second business day 从今天算起;加上 after <date> 则从你写明的日期算起。

calc
next business day after 3 December 2026 结果为 December 4
second business day after 3 December 2026 结果为 December 7
3rd business day after 3 December 2026 结果为 December 8

用 workday 时请把序数词拼写出来(third workday),因为 3rd workday 会被读作三个工作日那么长的一段时间,而不是某个日期。

工作日、小时与周

从小时换算时,一个工作日按八小时计;与日历天、周、月或年相互换算时,一周按五个工作日计。你可以在设置 › 计算中更改每个工作日的小时数。

calc
37.5 hours in workdays 结果为 4.6875 workdays
2 weeks in workdays 结果为 10 workdays
10 workdays in days 结果为 14 days
work hours in June 2025 结果为 168 hours
work hours between March 3 2025 and March 17 2025 结果为 80 hours

work hours in 某个月时,该月的每个工作日按八小时计算。

公共假日

Varlig 内置了 23 个国家和地区的公共假日日历,依据各自公布的规则推算,覆盖 2000 年到 2100 年的每一年。在行内写明国家,就可以统计一年的假日天数或判断某一天,事先不需要做任何设置:

calc
public holidays in the UK in 2027 结果为 8 days
public holidays in Ireland in 2027 结果为 10 days
holidays in Japan in 2026 结果为 16 days
holidays in the US in 2026 结果为 11 days
holidays in December 2026 in the UK 结果为 2 days
is 25 December 2026 a holiday in the UK 结果为 true
is 5 July 2026 a holiday in the US 结果为 false

holidays in、public holidays in 和 bank holidays in 都可以用,时期可以是一年、一个季度或一个月。is <date> a holiday in <country> 和 is <date> a public holiday in <country> 回答 true 或 false。

落在周末的假日只按它本来的日期计一次,不会连同补休的工作日算两次。所以 is 25 December 2027 a holiday in the UK 是 true,尽管那一年的圣诞节是星期六,而当年的银行假日是 27 日和 28 日。

选择你的日历

在 设置 › 计算 中选好你生活和工作所依据的日历,之后就不必每次都写明国家了。需要日历才能作答的行开始生效,而写明了国家的行照常按字面执行:

holidays in 2027                8 days
next public holiday             December 25
last bank holiday               August 31
is 25 December 2026 a holiday   true

选择日历还会改变所有的工作日计数和工作日推移,因为它们此后除了跳过周六和周日,也会跳过该国的公共假日。默认情况下,2026 年 12 月有 23 个工作日:

calc
workdays in December 2026 结果为 23 workdays

选择「英格兰和威尔士」后,同一行的结果是 21,因为那一年圣诞节落在星期五,节礼日的补休落在之后的星期一:

workdays in December 2026       21 workdays

+ 2 workdays、next business day、workdays until 和 work hours in 也是如此。你在设置的 工作日假日 列表里填的日期依然有效,会叠加在日历自带的假日之上,所以可以再加上公司的集中休假或当地的休息日。请参阅设置。

没有选择日历时,holidays in 2027 或 next public holiday 这样的行会请你选一个日历或写明国家,而不会根据 Mac 的地区设置去猜。

这 23 个日历覆盖英国(英格兰和威尔士、苏格兰、北爱尔兰各有一个)、爱尔兰、美国、加拿大、澳大利亚、新西兰、德国、法国、西班牙、意大利、荷兰、葡萄牙、波兰、瑞典、挪威、丹麦、芬兰、瑞士、奥地利、比利时和日本。它们遵循各国自己的补休规则,也包含历年来的规则变化和登基庆典之类的一次性假日。节假日与时区名称列出了每个日历包含的内容。

Easter 2027 和 Christmas 这类节假日名称本身就是日期,不依赖任何日历,所以无论你选了什么,它们的结果都一样。请参阅上面的节假日。

计算日期之间的间隔

在 between 前面加上单位,即可以该单位计数。

calc
days between July 14 2025 and July 25 2025 结果为 11 days
days from July 14 2025 through July 25 2025 结果为 12 days
days between Christmas 2025 and New Year's Day 2026 结果为 7 days
hours between June 13 2025 and June 16 2025 结果为 72 hours
weeks between January 6 2025 and March 31 2025 结果为 12 weeks
months between January 15 2025 and July 1 2025 结果为 5.5256781453 months
whole months between January 15 2025 and July 1 2025 结果为 5 months
whole years between March 5 1990 and June 14 2025 结果为 35 years
halfway between March 3 2025 and June 14 2025 结果为 April 24, 2025
  • between 不包括结束日期:7 月 14 日至 25 日的酒店住宿是 11 晚。
  • from … through 包括首尾两天:同一次住宿涵盖 12 个日历日。无法识别 inclusive 一词,请使用 through。
  • whole 会舍去小数部分:可用于计算年龄以及完整的月数或周数。
  • halfway between 和 midpoint between:给出正中间的日期。

对于同一天内的时间,请给每个日期加上时间:minutes between June 14 2025 at 9am and June 14 2025 at 5:30pm 是 510 min。

不带时刻的日期从午夜开始,所以一端是带时刻的日期、另一端只是日期时,这段时间会算到午夜或从午夜算起。to 和减法的算法完全相同。

calc
hours between 1 January 2027 at 6pm and 2 January 2027 结果为 6 hours
hours between 1 January 2027 and 1 January 2027 at 6pm 结果为 18 hours
1 January 2027 at 6pm to 2 January 2027 at 9am 结果为 15 hours

住院和出院、从下午取车到上午还车的租赁,以及其他一端是时刻、另一端只是日子的情形,正需要这样的算法。

某段时期内的天数、周数和月数

calc
days in February 2024 结果为 29 days
days in February 2025 结果为 28 days
days in Q1 2025 结果为 90 days
days in first half of 2025 结果为 181 days
days in 2024 结果为 366 days
weeks in Q2 2025 结果为 13 weeks
months in Q2 2025 结果为 3 months
is 2028 a leap year 结果为 true

要计算与今天相关的时期,请把 the、this、next 或 last 与 week、month、quarter 或 year 搭配使用。这些结果随今天的日期而变,所以下面的答案是 2026 年 9 月的结果。

calc结果取决于今天的日期或实时数据
days in this month 结果为 30 days
workdays in next month 结果为 22 workdays
days in last quarter 结果为 91 days
days in the year 结果为 365 days

每周从星期一开始,the year 指日历年,所以闰年有 366 天。

倒数:until、since 与 left in

这些计数从今天开始,所以每天都会变化。显示的答案是 2026 年 9 月 16 日的结果。

calc结果取决于今天的日期或实时数据
days until Christmas 结果为 100 days
how many days until Christmas 结果为 100 days
whole weeks until Christmas 结果为 14 weeks
days until December 25 2030 结果为 1,561 days
days until 25/12 结果为 100 days
workdays until December 19 结果为 68 workdays
days since January 1 2020 结果为 2,450 days
days left in September 结果为 14 days
days left in the year 结果为 106 days
workdays left in 2026 结果为 76 workdays
weeks left in 2026 结果为 15 weeks
days until Q4 2026 结果为 15 days
  • 按你平常的说法提问:how many days until Christmas 与 days until Christmas 相同。
  • 用斜杠分隔的日和月是日期:days until 25/12 会倒数到 12 月 25 日。日和月的顺序遵循计算所用的地区格式,大于 12 的数字总是表示日。
  • left in 计算你当前所处时期中还剩下的部分:days left in the year 计算今天之后到 12 月 31 日的天数,workdays left in 2026 计算其中的工作日数。它适用于本周、本月、本季度或本年;对于尚未开始的时期,请改用 until 计数。
  • whole 计算完整的周数、月数或年数:所以 whole weeks until Christmas 会舍去最后不满一周的部分。
  • 按天及更长的单位计数时只数整天:日期带不带时刻,days until 的答案都一样,所以存为 3 December 2026 at 9:15am 的预约,距今仍然是一个整数天。要算到具体时刻,请按小时或分钟计数:hours until Friday at 5pm。
  • until 一个已经过去的日期:会得到负数,例如 -265 days。
  • until 一个已经结束的时期:不显示答案。

距离某个时刻还有几小时

不带日期的时刻在 until 中表示下一个该时刻,在 since 中表示最近的一个该时刻。因此,答案总是你还剩多少时间,或者已经过去了多久。下面的答案是下午 3:37 的结果。

calc结果取决于今天的日期或实时数据
hours until midnight 结果为 8.3833333333 hours
hours since 9am 结果为 6.6166666667 hours
minutes until 5pm 结果为 83 min

如果想以小时和分钟而不是小数显示,请写成 now to midnight;请参阅时刻与时长。

年龄与纪念日

用 today 减去出生日期得到年龄,然后进行换算。

calc结果取决于今天的日期或实时数据
年龄 = today - March 5 1990 结果为 36 years 6 months 1 week 4 days
年龄 in years 结果为 36.5346311013 years
年龄 in days 结果为 13,344 days
whole years between March 5 1990 and today 结果为 36 years

使用两个固定日期时,答案永远不变,所以可以用来做记录:

calc
June 14 2025 - March 5 1990 结果为 35 years 3 months 1 week 2 days

星期几、周数与月相

用 on 询问日期的某个部分。

calc
weekday on July 4 2025 结果为 Friday
day of month on July 4 2025 结果为 4
day of year on July 4 2025 结果为 185
week number on July 4 2025 结果为 27
week of month on July 4 2025 结果为 1
moon phase on June 11 2025 结果为 Full Moon
lunar day on July 4 2025 结果为 9
询问 其他写法
weekday on <date> day of week on <date>
day of month on <date>
day of year on <date> day number on <date>
week number on <date> week of the year on <date>
week of month on <date> week of the month on <date>
lunar day on <date>
moon phase on <date>

周数采用 ISO 周,每周从星期一开始。what day is <date> 也会给出星期几,所以 what day is 25 December 2030 和 weekday on 25 December 2030 都得到 Wednesday。

day number、lunar day 和 moon phase 也可以不带日期,此时表示今天。week number 需要日期,所以要查询本周的周数,请写 week number on today,或者使用 week of year 和 week of month——省略日期时它们表示今天所在的周。你还可以询问当前这一天、这一周、这个月或这一年已经过去了多少:

calc结果取决于今天的日期或实时数据
day number 结果为 259
week number on today 结果为 38
week of year 结果为 38
week of month 结果为 3
moon phase 结果为 Waxing Crescent
year percentage 结果为 70.8635337392%
year percentage to 1 dp 结果为 70.9%
month percentage to 0 dp 结果为 52%

day percentage、week percentage、month percentage 和 year percentage 的用法都相同。

格式化日期

写 as 加上一个格式模式,即可以其他布局显示日期,用于文件名、表单或信函。

calc
July 4 2025 as yyyy-MM-dd 结果为 2025-07-04
July 4 2025 as dd/MM/yyyy 结果为 04/07/2025
July 4 2025 as d MMM yyyy 结果为 4 Jul 2025
July 4 2025 as EEEE, d MMMM yyyy 结果为 Friday, 4 July 2025
July 4 2025 as EEE d MMM 结果为 Fri 4 Jul
July 4 2025 as yyyyMMdd 结果为 20250704
July 4 2025 as '第' ww '周' 结果为 第 27 周
July 4 2025 as yyyy '年' M '月报告' 结果为 2025 年 7 月报告
字母 含义 July 4 2025 as …
yyyy、y 年份 2025
yy 两位数年份 25
M、MM 月份数字,MM 会补前导零 7、07
MMM 月份名称缩写 Jul
MMMM 月份名称 July
d、dd 日,dd 会补前导零 4、04
D、DDD 一年中的第几天 185
E、EEE 星期名称缩写 Fri
EEEE 星期名称 Friday
w、ww ISO 周数,ww 会补前导零 27、27
Y、YYYY ISO 周所属的年份 2025
'text' 按原样保留的文字 '周' 显示为 周

字母之间的空格、逗号、短横线、斜杠和点都会按原样保留。把文字放进单引号即可添加到答案中,例如 '第' 或 '月报告';要显示撇号,请写 ''。

在新年前后,某个日期可能属于下一年的第 1 周,也可能属于上一年的最后一周。请把周数与 YYYY 搭配使用,让年份与周数对应:

calc
December 29 2025 as YYYY '年第' w '周' 结果为 2026 年第 1 周
January 6 2025 as '第' ww '周' 结果为 第 02 周

格式模式只适用于日期;日期不能使用 HH 和 mm 等时间字母。对于当前时间,now as HH:mm 会给出类似 15:37 的结果,now as date 则给出今天的日期。

时间戳与 ISO 8601

Unix 时间戳计算的是自 1970 年 1 月 1 日(UTC)以来的秒数。用 as date 转换日志或数据库中的时间戳,用 as timestamp 或 as unix time 把某个时刻转换回时间戳。

calc
1751619600 as date 结果为 July 4, 2025 at 9:00:00 AM GMT
1751619600000 as date 结果为 July 4, 2025 at 9:00:00 AM GMT
2025-07-04T09:00:00Z as timestamp 结果为 1751619600
July 4 2025 at 9am UTC as unix time 结果为 1751619600
July 4 2025 at 9am UTC as ISO8601 结果为 2025-07-04T09:00:00Z
July 4 2025 as ISO8601 结果为 2025-07-04
2025-07-04T11:00:00+02:00 结果为 2025-07-04T09:00:00Z
2025-07-04T09:00:00Z in New York 结果为 July 4, 2025 at 5:00 AM
2025-07-04T09:30:00 to date 结果为 July 4, 2025
  • 自动识别毫秒:13 位的时间戳会被读作毫秒,所以上面两种形式给出的是同一时刻。to date 与 as date 的作用相同。
  • ISO 字符串加上 to date 会给出它所在的那一天:字符串本身已经写明了时间,所以 2025-07-04T09:30:00 to date 是 July 4, 2025。Unix 时间戳加上 as date 则会显示日期和时间。
  • 答案会注明时区:as date 会显示时间所在的时区,在这些示例中是 GMT。
  • 带 Z 或偏移量的 ISO 字符串:表示精确的时刻,以 UTC 显示。加上 in 和地点,例如 2025-07-04T09:00:00Z in New York,即可读取该时刻的当地时间。不带时区的 ISO 字符串按你所在的时区读取。
  • 单独的日期在 ISO 格式中仍是日期:July 4 2025 as ISO8601 给出 2025-07-04;加上时间即可得到完整的时间戳。
  • 用于时间戳时,不带时间的日期表示正午:July 4 2025 as timestamp 给出的是你所在时区当天正午的时间戳,所以这个数字取决于你身在何处。需要精确值时,请像上面那样加上时间和时区。

当前时间戳每秒都在变化:

calc结果取决于今天的日期或实时数据
current timestamp 结果为 1789573136.03746
new timestamp 结果为 1789573136.03743

综合运用

下面是笔记中的一份项目计划。每个阶段都建立在前一个阶段之上,所以更改启动日期或某个阶段的时长,之后的所有日期都会随之移动。

calc
启动日 = first monday of March 2025
设计 = 3 weeks
开发 = 6 weeks
测试 = 10 workdays
设计完成 = 启动日 + 设计 结果为 March 24, 2025
开发完成 = 设计完成 + 开发 结果为 May 5, 2025
上线 = 开发完成 + 测试 结果为 May 19, 2025
weekday on 上线 结果为 Monday
上线 as EEEE, d MMMM yyyy 结果为 Monday, 19 May 2025
workdays between 启动日 and 上线 结果为 55 workdays
whole weeks between 启动日 and 上线 结果为 11 weeks

以周为单位的阶段时长按日历周计算,而 测试 只计算工作日,所以上线日期总会落在工作日。最后两行给出项目的总时长,可以直接用在进度汇报中。