打开就是一只走到秒的德国时间大钟:柏林当地时刻、日期星期、当前真正生效的时区缩写(CET 还是 CEST)、比北京慢几小时、现在是不是夏令时,旁边一只北京时间做参照。往下有与北京时间的 24 行对照表、任意时刻的双向换算、今年夏令时从哪天到哪天与下一次调钟的日期,以及一条标出双方都醒着那几个小时的联系时段带。德国全境只有一个时区,法兰克福、慕尼黑、汉堡、科隆的时间与柏林完全一样,页面里也各列了一行。
怎么用
这一页只回答三件事:德国现在几点、和北京差几个小时、夏令时什么时候变。打开不用设置,钟已经在走。
一、首屏那只大钟
最上面是德国当地时间,走到秒,旁边一只小的北京时间做参照。大钟底下四行小字分别是:
- 当地日期与星期——德国常比北京晚一天翻页,这一行比自己心算靠谱;
- 当前生效的时区缩写——冬天显示 CET、夏天显示 CEST,不是贴死的标签;
- 与北京的时差——「比北京慢几小时」直接写出来,外加 UTC 偏移;
- 现在是哪一季——夏令时还是冬令时(标准时)。
大钟左上角那个小图标示意德国那边是白天还是夜里,决定要不要现在打电话时扫一眼就够。
二、与北京时间对照表
第二块是一张 24 行的整点对照表:北京的 0 点到 23 点,德国那边各自对应几点、是不是跨了日(标成「前一日」)。当前这一小时会高亮,所以一眼能定位自己在表的哪一行。
表格上方那一句直接给结论,并且把冬夏两个时差一起说清楚:一个是此刻生效的,另一个是换季之后的。表格可以整张复制,复制出来是制表符分隔的纯文本,贴进表格软件或聊天窗口都能用。
这一块顶上的下拉还管着后面两块:选德国哪座城市(或者同属中欧时间的邻国城市),对照表、夏令时卡、联系时段带会一起跟着换。
三、时刻换算
要算的不是「现在」而是「下周二晚上八点德国几点」时,用这一块:选两边的城市、填日期和当地时刻,点「换算」,立刻得到对方的当地日期时刻,跨日会标成「次日」或「前一日」。
- 「现在」把日期时刻一键填成此刻;
- 「对调」把两边互换,用来反着算;
- 「复制结果」给出一整句可以直接发出去的话。
两端都可以任选,所以它不只做「北京 ⇄ 德国」,也能算「柏林 ⇄ 巴黎」这类欧洲内部的换算。
四、夏令时与调钟
第四块回答「现在是冬令时还是夏令时、今年的夏令时从哪天到哪天、下一次什么时候调钟」。卡上给五行读数:当前偏移、标准时 CET 的偏移、夏令时 CEST 的偏移、今年的夏令时起止日、下一次调钟的日期,外加一句话总结「之后与北京的时差从几小时变成几小时」。
这些日期不是手写进页面的,而是让程序拿着浏览器自带的时区库逐段扫出偏移跳变的那一天。好处很直接:规则以后要是改了,页面跟着变,不会像写死日期的页面那样从某天起开始骗人。
五、什么时候联系合适
第五块给要联系德国那边的人用。页面把北京的 0~23 点排成一条带,上面一行是北京、下面一行是德国,按「两边都在当地 9 点到 22 点之间」分成三色:绿=两边都醒着,黄=只有一边方便,灰=有一边在睡觉。上方那一句直接给结论,写明北京哪几点对应德国哪几点、一共重叠几个小时。
六、同一时间的其它城市
最后一块列出德国的柏林、法兰克福、慕尼黑、汉堡、科隆、斯图加特、杜塞尔多夫七座城市,以及同属中欧时间的巴黎、罗马、马德里、阿姆斯特丹、维也纳、苏黎世六座邻国城市。德国七城的读数必然完全一致(全境一个时区);邻国那六座虽然目前也同刻,页面仍然各自向时区库要一次时间,而不是照抄柏林的结果——哪一天谁改了规则,这里会先露出来。
七、这一页不做的事
本页时间以你这台设备的时钟为准,不向任何服务器要时间,也不发任何网络请求。要看整个欧洲的四块时间,去欧洲时间;要看英国那边,去英国时间;要查别的大洲、做多城市会议排期,去世界时钟;想要一块满屏大字的北京时间,去北京时间全屏显示。
怎么看结果
「德国时差」不是一个固定数字
搜索里「德国时差 7 小时」和「德国比中国晚 6 小时」两种说法都常见,两个都对,区别只在那一刻是不是夏令时:
- 冬令时(标准时)期间:德国是 UTC+1,北京是 UTC+8,德国比北京慢 7 小时;
- 夏令时期间:德国拨快一小时成为 UTC+2,比北京慢 6 小时。
一年里大约七个月用短的那个数、五个月左右用长的那个数,切换点就是三月和十月的那两个周日。页面上写的永远是此刻的真实差值,对照表上方那一句还会把另一个季节的数字一并给出,方便你提前安排跨季的会议。
要心算的话有个简单口诀:北京时间减去 7(夏天减 6)就是德国时间,减不动就借一天、日期退一天。
缩写是算出来的,不是贴上去的
这一页所有出现缩写的地方(大钟旁边那个小标签、城市一览每行末尾的标签)都遵循同一条规则:先问时区库此刻的真实偏移,再和这个时区一年里最小的那个偏移比,大就是夏令时。所以你不会在七月看到 CET,也不会在一月看到 CEST。
顺便说清楚几个容易混的写法:CET/CEST 是中欧时间,GMT/BST 是英国那一档(比德国晚一小时),EET/EEST 是东欧那一档(比德国早一小时)。德国只跟前面那一组打交道。
「次日/前一日」那个小标
德国与北京差六七个小时,跨日不像美洲那么频繁,但照样会出事:北京的凌晨就是德国的前一天晚上。北京周一早上 6 点,柏林还停在周日深夜;北京周五晚上 11 点开的会,德国那边还是周五下午,再晚一点就跨过去了。换算结果里那个「次日/前一日」的小标专治这个,发邮件约会议时值得多看一眼。
换季那两天的两件怪事
德国的调钟发生在凌晨,于是一年里有两天,当地的「墙上时间」会出问题,本页都老实标出来:
- 春天拨快的那天,有一小时不存在。当地凌晨 2 点直接跳到 3 点,「2 点 30 分」这个时刻那天压根没有。你要是在换算里填了这么一个时刻,页面会提示「你填的这个当地时刻并不存在」,并按拨快之后的时刻算。
- 秋天拨回的那天,有一小时出现两次。当地 3 点拨回 2 点,于是「2 点 30 分」当天来了两遍。页面会提示这一点,并按第一次(夏令时那一次)给结果。
这两件事在订机票、看跨夜火车时刻、对班表时最容易出岔子,遇到了别以为是页面算错。
换季那一周,国内外的时差临时对不上
德国和北京之间没有这个问题(中国不调钟,所以两地时差一年只变两次,都在德国这边动)。但如果你同时还要对美国,就要当心:美国和欧洲的换季日差着一两周,那段时间欧美之间的时差会临时少一小时。跨三地的周会在春秋两季必然有一次要重新对表——具体哪几天错位、差几小时,去欧洲时间那一页看,那里有一张专门的提示。
时区算不出来的时候
极老的浏览器或被裁剪过的运行环境可能没有完整的时区库,这时页面顶部会出现一条红色提示,各地退回「固定偏移、不含夏令时」的估算,也就是一律按 UTC+1 算。这种情况下夏天会差一小时,结论仅供参考,建议换一个较新的浏览器再看。
常见问题
德国到底有几个时区?会不会像美国那样一个国家好几档?
只有一个。德国全境统一使用中欧时间,时区库里对应 Europe/Berlin 这一个条目,东西跨度大约九个经度,全部归在同一档里。这和美国本土四个时区、俄罗斯横跨十来个时区完全不同。
一个直接的后果是:德国东西两端的太阳时差着半小时左右,同一个钟点下,西边的科隆天黑得比东边的柏林晚一些。夏天在德国北部,晚上九点多天还亮着,这不是时区问题,是纬度和夏令时叠加出来的效果。
为什么法国、西班牙也用德国这一档时间?
从地理上说,西班牙本土和法国西部差不多在格林尼治经线附近,按太阳走本该和英国同一档。它们现在用中欧时间是历史留下来的:上世纪四十年代前后两国先后把时钟调到与柏林一致,战后都没有改回去。
结果就是这两国的社会作息整体偏晚——西班牙人所谓「晚上九点吃晚饭」,换算成太阳时其实是七八点。西班牙国内长期有「要不要改回西欧时间」的讨论,至今没有动。所以在本页的城市一览里,巴黎、马德里与柏林同刻,并不奇怪。
德国的夏天为什么天黑得那么晚?
两个原因叠在一起。一是纬度高:柏林比北京靠北十几度,汉堡更北,夏至前后白昼本来就长得多。二是夏令时把钟拨快了一小时,日落的钟点又往后推了一格。于是六七月的德国北部,晚上九点多天光还没散尽。冬天则反过来,下午四点多就开始黑,这也是每年关于「要不要取消调钟」争论的核心——取消不难,难的是选哪一个作为全年标准。
我在页面上选的城市会存到哪里去?
对照表看哪个城市、换算两端选了谁,都写在你这台设备浏览器的本地存储里,下次打开还是它,换一台设备要重新选。本页不发任何网络请求,你的选择不会离开这台设备;清理浏览数据就会回到默认的柏林。
页面上的时间准不准?
页面显示的时刻=你这台设备的系统时钟按德国时区换算的结果。换算这一步是准的,但如果你的设备本身走偏了几分钟,页面也会跟着偏。想知道自己设备偏多少,去 Hi8 的时间校准那一页量一下;要一块满屏大字的北京时间,去北京时间全屏显示。
手机上能用吗?
能。窄屏下北京那只参照钟会挪到大钟下方排成一行,城市一览变成两列,对照表收窄并隐去「日期」那一列,联系时段那条带可以左右滑动。日期和时刻用的是手机系统自带的选择器。
和 time.is 这类站比呢?
那类站是很成熟的世界时间工具,查单个城市当然够用。本页的不同在于它是一页只讲德国:首屏直接给大钟不用先搜城市,正文围着「德国时差」「CET 与 CEST」「跨日」「换季」这几件中文用户真正会卡住的事写,并且把与北京的对照表、联系时段这两块中国用户特别需要的东西放进了页面。用途不同,各取所需。
原理与冷知识
时区数据是一份全球共同维护的文件。浏览器、手机、服务器里那份时区规则叫 IANA 时区数据库,记录了每个地区的偏移变化、夏令时规则和历史调整,每年发布好几个版本,因为总有国家在改。这也是网页不该自己写夏令时日期表的根本原因——写死的那一刻就开始过期。本页把这件事完全交给这份数据库,只负责把它算出来的东西说清楚。
德国的「一个时区」是统一出来的。十九世纪的德意志地区各城市各用各的地方太阳时,铁路和电报把这种做法逼到了尽头。一八九三年,全德统一采用以东经十五度为基准的中欧时间,此后无论政区怎么变,这一条再没动摇过。今天你搜「法兰克福时间」和「柏林时间」得到同一个答案,源头就在那一次统一。
东西德分裂的年代,两边的钟也一度不同步。分裂时期两德在夏令时的取舍上并不总是一致,某些年份一边实行、另一边不实行,柏林墙两侧一度出现过钟点不同的局面。后来两边重新对齐,到一九八零年起中欧各国基本恢复了统一的调钟节奏。这段插曲常被拿来说明:时区从来不只是天文问题,也是政治问题。
欧洲的调钟是「同一刻」,美国的调钟是「各自当地 2 点」。这是两套设计哲学的差别。欧盟规定全欧在世界时 1:00 统一切换,于是英国在当地 1 点、德国在当地 2 点、希腊在当地 3 点同时跳——整块大陆的相对时差在切换瞬间保持不变。美国则是各时区各自在当地凌晨 2 点调,切换那天美国内部的时差会短暂错乱几小时。欧洲这个设计省了很多麻烦,代价是对跨洋协作毫无帮助。
夏令时最早是战时的产物。第一次世界大战期间,为了节省照明用煤,德国率先在全国范围推行夏时制,其他参战国很快跟进。战后一度废止,后来在能源紧张的年代又被重新捡起来。换句话说,我们今天每年调两次钟,起点是一场关于燃料的战时算计。
这笔账后来越算越不划算。今天的研究普遍认为夏令时省下的照明电非常有限,反而带来切换前后的作息紊乱、交通事故增加与各类软件故障。欧盟在二零一八年做过一次数百万人参与的公众咨询,多数受访者支持取消;二零一九年欧洲议会投票通过取消季节性时间调整。但这件事随后卡在成员国的协调上——如果邻国各选各的,欧洲内部的时差会比现在更乱。所以它的存废更多是政治协调问题,不是技术问题。
「中欧时间」比中欧大得多。从北边的挪威一直连到地中海上的马耳他,再向东到波兰、匈牙利、塞尔维亚,二十多个国家共用这一档时间,是欧洲面积最大的一块。正因为它跨了这么多经度,边缘地区的太阳时与钟表时间差得不小,这也是欧洲内部关于时区划分争论不休的原因之一。
时区本身是铁路逼出来的。十九世纪中叶以前,每座欧洲城市用自己的太阳时,隔壁城镇差几分钟没人在意。铁路来了之后时刻表成了灾难,一八八四年的国际子午线会议确定以格林尼治为本初子午线,各国才陆续以它为基准划出整小时时区。我们今天用的时间体系,起点是为了让火车不撞车。