夏令时就是把钟拨快一小时过夏天,秋天再拨回来,拨回去的那段日子中文里俗称冬令时。这一页把美国东部与西部、加拿大、英国、德国、法国、澳大利亚、新西兰这些地方今年的开始日与结束日排成一张表,每一行还写着现在是不是夏令时、与北京差几小时、下一次调钟之后又变成几小时;首屏直接倒数「名单里最近的一次调钟还有几天」。表里所有日期都由你浏览器自带的时区库当场扫出来,不是写死的。
怎么用
这一页回答的是一串连在一起的问题:夏令时是什么意思、今年什么时候开始、什么时候结束、我关心的那个地方现在到底在不在夏令时里、下一次调钟之后和北京差几小时。打开就是答案,不用填任何东西。
一、首屏那条倒数
最上面一条橙色的大字,写的是名单里最近的一次调钟还有几天,下面一行补齐细节:在哪个地区、哪一天、是开始夏令时还是结束夏令时、把钟往前拨还是往回拨。
这一条是比出来的——页面把名单里每个地区各自的下一次调钟放在一起取最早的那个,谁也没有被优先照顾。所以在不同的月份打开这一页,领跑的地区会不一样:春天多半是北半球的某个地方,秋天常常轮到南半球。倒数跟着秒走,跨过调钟那一刻会自己把整张表重算一遍。
二、总表:一行一个地区,七列
表分两段。上面一段是一般会调钟的地区,下面一段是对照组,也就是一般不调钟的地区。要强调的是:分段只决定排在哪儿,不决定结论——对照组里哪一行今年真调了钟,它的开始日与结束日会照常显示出来。七列分别是:
- 地区与代表城市:城市名如果是蓝色的,点它就去那座城市自己的时间页,那里有走秒的大钟和与北京的 24 行对照表;
- 时区名:
America/New_York这样的 IANA 时区名,跨国约会议时把它写进邀请里最不容易出错(窄屏上这一列会自动收起来); - 开始日:这个地方今年把钟拨快的那一天;
- 结束日:把钟拨回来的那一天;
- 现在:一枚小标,写着此刻是「夏令时」还是「标准时间」,在夏令时里的那一行标是深色的;
- 与北京:此刻与北京时间差几小时;
- 调钟后:下一次调钟之后与北京变成几小时——这一列专门给「我下个月跟那边开会,时差要不要改」这种问题。
扫到切换日的行底色是浅黄的,倒数条领跑的那一行会被高亮出来。
三、换年份
年份下拉给三项:上一年、今年、明年。看明年时下面会多一句提醒——明年的日期是按现行规则推算的,规则若被修改,以当地官方公布为准。
能不能算出明年,取决于你设备里时区库的版本:主流浏览器都带着未来若干年的规则,所以明年一般查得到;再往后就不一定了,页面不会硬编一个数字糊弄你。
四、南半球那一块
表底下单列一块南半球正好相反,里面是「开始日落在下半年」的那几行。这一块不是按地理位置挑出来的,而是按扫出来的开始日在几月筛的——南半球的夏天正是北半球的冬天,所以它们的夏令时从下半年开始、到上半年结束,在表里一眼就能看出来。
五、拨快还是拨慢,以及术语
再往下是两组卡片。第一组讲调钟那天到底发生了什么,开头还拿表里真扫出来的那一次当例子,直接写「当地时间几点跳到几点」。第二组是术语:夏令时、DST、Summer Time、冬令时这几个词分别指什么,以及中国的情况。
六、复制总表
年份下拉旁边的「复制总表」把整张表按制表符复制走,贴进表格软件就是成列的,第一行写着是哪一年。浏览器不让网页直接写剪贴板时,内容会出现在页面下方的框里并自动选中,按 Ctrl+C(Mac 上是 ⌘+C)即可。
这一页不需要你填任何东西,也不在你这台设备上存任何东西——连年份选择都不记,刷新就回到今年。
怎么看结果
「开始日」和「结束日」是怎么算出来的
这是本页最该说清楚的一件事。页面没有一张写好的日期表,而是这样干的:拿某个时区,从一月一日到年底,每天取一次那边的时间偏移;某一天的偏移和前一天不一样,就说明这中间调过钟;再在这两次采样之间二分到分钟,定出调钟发生的准确时刻;最后按新偏移把那一刻换算成当地日期,就是表里写的那一天。
这么做的好处是规则改了页面跟着变:夏令时是各地立法的产物,隔几年就有地方调整甚至取消,浏览器厂商会更新时区库,而这一页读的正是那份库。代价是它依赖你设备上的时区库版本——库太旧,查明年可能就查不到。
「现在」那一列判的是此刻,不是那一年
小标写「夏令时」还是「标准时间」,判的是你打开页面这一刻那个地方的状态:拿此刻的偏移和当年的标准偏移比,大就是在夏令时里。所以你切到上一年去看,开始日结束日会换成那一年的,但「现在」这一列仍然说的是此刻——它本来就是关于现在的。
同理,「与北京」是此刻的时差,「调钟后」是从此刻算起下一次调钟之后的时差。这三列合起来就是一句话:现在差几小时,什么时候变,变成几小时。
「今年不调钟」是一个结论
对照组那几行大多显示「今年不调钟」。这四个字不是省略号,而是整整一年三百多天都扫过、一次偏移变化都没找到得出的结论。这也是为什么页面要把不调钟的地方一起列进来:有对照才知道扫描是真在干活,中国那一行显示不调钟,和纽约那一行扫出两个日期,用的是同一套代码。
它们的「调钟后」那一列写的是「不变」——今明两年都没有下一次调钟可等。
只有开始日、没有结束日的那种行
偶尔会看到某一行有开始日,结束日却写着「这一年里没再调回来」。这不是 bug,而是扫描如实报出来的:某个地方把规则改成了「拨快之后不再拨回去」,这一年就只剩一次切换。
遇到这种行,最好点进那座城市的时间页再确认一次当地的说法;是否实行、何时实行,以当地官方公布为准。这一页只负责把时区库里现在写着的东西如实摆出来。
时差不是一个常数
跨时区最容易犯的错,是把时差当成一个背下来就不用改的数字。只要两地中有一方调钟,时差当天就会变一小时;两地都调、但不是同一天调,一年里还会多出两段「时差和平时不同」的日子,每段短则一两周。
表最右边那一列就是为这件事准备的:它直接告诉你下一次调钟之后变成几小时,你不必自己加减。
常见问题
夏令时和冬令时什么时候切换?
看表里的开始日和结束日两列:开始日就是切进夏令时的那天,结束日就是切回标准时间(也就是俗称的冬令时)的那天。调钟一般发生在当地的凌晨,为的是尽量少打扰作息,页面的图解卡里写着真实的例子——当地几点直接跳到几点。
各地的规则写法通常是「某个月的第几个星期日」,但具体是哪个月、第几个星期日由当地立法规定,而且被改动过多次,所以本页一律不写死,直接扫给你看;具体某一年某一天以当地官方公布为准。
为什么同一个地方的时区缩写会变?
因为标准时和夏令时用两套缩写:标准时那一套带 S,夏令时那一套带 D,英国的写法则换成另一对。所以七月收到一封写着标准时缩写的邮件,多半是对方顺手写了习惯的那个,实际生效的是夏令时那个——差一小时的会议就是这么错过的。要按缩写反查具体是几点,去时区缩写对照那一页,它按缩写查,收了一整张对照表。
调钟那天的凌晨会发生什么?
开始那天,当地时钟往前跳一小时,被跳过的那一小时在当地根本不存在,定在那一小时里的闹钟会被系统挪走或跳过,这一天只有 23 小时。结束那天,时钟往回拨一小时,同一个钟点走两遍,这一天有 25 小时——只写「凌晨一点半」不加说明,对方无法判断你指的是哪一遍。
这一页和世界时钟、各个城市时间页怎么分工?
分工很清楚:世界时钟按城市查,要同屏看好几个地方的时刻用它;各个城市页(比如美国时间、欧洲时间)各自围着一个国家或城市做深,进去第一眼是那只走秒的大钟和与北京的 24 行对照表;这一页只做夏令时这一件事,把各地的调钟日排在一张表里横着比。表里每个城市名都链到它自己的那一页。
手机上能看吗?
能。窄屏下时区名那一列会自动收起来,只留地区城市、开始日、结束日、现在和与北京;再窄一点「调钟后」也会收起来,卡片改成一列。整张表在手机上不需要左右拖。
页面显示的时间准吗?
表里「现在」那一列和倒数,都是拿你这台设备的当前时刻去算的,设备时钟差多少,页面就差多少。开着自动对时的设备通常在一秒以内。想确认自己的设备准不准,本站另有时间校准那一页可以量一下偏差。至于开始日结束日本身,那取决于你浏览器时区库的版本,与设备时钟无关。
这一页会把我的数据发出去吗?
不会。这一页不向任何服务器要数据,也不往你这台设备上写任何东西——连你选了哪一年都不记。页面上所有内容都是打开的那一刻在你的浏览器里算出来的。
原理与冷知识
夏令时最初的理由是省灯油,后来的账一直没算清。提出它的人想的是让人们的作息跟着日照走,少点一会儿灯。一个多世纪过去,各国做过的研究普遍认为这点节约非常有限,反倒是切换前后几天的作息紊乱、交通事故与软件故障被反复记录下来。所以今天关于夏令时的争论,主要不是「省不省电」,而是「已经这么多年了,改起来协调成本太高」。
欧盟投票取消过它,然后卡住了。2019 年欧洲议会通过了停止季节性调钟的决议,但接下来要各成员国自己选:全年固定用标准时间,还是全年固定用夏令时。选不一样就会在邻国之间凭空造出新的时差,于是协调至今没有结果,钟照旧每年调两次。它的存废更多是协调问题,不是技术问题。
「这一小时不存在」会真的坑到程序。夏令时开始那天当地凌晨被跳过的那一小时,在时间库里是一段空洞:你构造出那个时刻,它不对应任何真实瞬间。反过来,结束那天有一小时出现两次,同一个当地时刻对应两个真实瞬间。定时任务、账单、打卡系统在这两天出错是经典事故,专业做法是一律用世界时或时间戳存,显示的时候才套时区。
南半球的夏令时跨年。因为季节相反,南半球的夏令时从当地春天也就是下半年开始,到第二年上半年结束。于是它的一个「夏令时期」被公历年切成两截,在按自然年做的表里看起来像是「先结束、后开始」——本页南半球那一块就是这么被认出来的。
有的地方一天调半小时。绝大多数实行夏令时的地方每次调一小时,但并不是规定。澳大利亚豪勋爵岛的夏令时每次只调半小时,是世界上最细的一档;也有地方历史上用过两小时的调整。所以这一页在算「调钟后变成几小时」时,走的是分钟级的减法,而不是假定一定是六十分钟。
缩写跟着季节换,时区名不换。这也是为什么专业工具早就绕开缩写了:正规的日历邀请文件里写的是 TZID:America/New_York 这种时区名,而不是三个字母的缩写。时区名背后挂的是这个地方全部的历史规则和未来规则,换季自动生效,不需要写邀请的人操心。
时区库是一份活的历史档案。公开的时区数据库不仅记着今天的规则,还记着每个地方历史上每一次调钟——包括战争年代的全年夏令时、某些国家只实行一两年就取消的尝试、以及精确到秒的旧式地方时。它之所以体积不小,是因为它要回答的不只是「现在几点」,还有「几十年前的那天当地几点」。这一页扫出来的日期,正是从这份档案里读出来的。
有的地方选择了「永远夏令时」。近些年不止一处讨论过不再来回调钟、直接固定用拨快后的时间。一旦某地真这么改,时区库里那一年就只剩一次切换,之后再也没有——本页表里「这一年里没再调回来」那种行,就是这种改动被如实扫出来的样子。是否实行、何时实行,以当地官方公布为准。