#P2351. Time Zones

Time Zones

描述

在19世纪末之前,计时纯粹是一种地方现象。每个城镇会在太阳到达天空最高点时将时钟设置为正午。钟表匠或城镇的钟楼会提供“官方”时间,居民们会根据城镇时间设置他们的怀表和时钟——一些有进取心的居民会提供移动时钟校准服务,每周携带一块准确时间的手表来调整客户家中的时钟。城市之间的旅行意味着到达后必须调整怀表的时间。

然而,一旦铁路开始运营并将人们快速运送至远方,时间变得更为关键。在铁路运营的早期,由于每个站点基于不同的当地时间,列车时刻表非常混乱。时间的标准化对于铁路的高效运营至关重要。

18781878年,加拿大人桑福德·弗莱明爵士提出了我们今天使用的全球时区系统。他建议将世界划分为2424个时区,每个时区相隔1515度经度。由于地球每2424小时自转一周,且经度共有360360度,因此地球每小时自转124\frac{1}{24}圈,即15°15°经度。弗莱明爵士的时区系统被誉为解决全球混乱问题的杰出方案。

美国铁路公司于1883188311111818日开始采用弗莱明的标准时区。18841884年,华盛顿特区召开了国际本初子午线会议,以标准化时间并选定本初子午线。会议将英格兰格林尼治的经度定为00度经度,并基于本初子午线建立了2424个时区。尽管时区已经确立,但并非所有国家都立即采用。虽然到18951895年,美国大多数州开始遵循太平洋、山地、中部和东部时区,但直到19181918年的《标准时间法案》通过后,国会才强制要求使用这些时区。

如今,许多国家采用弗莱明提出的时区的变体。中国全境(本应横跨五个时区)使用单一东八区时间(比协调世界时UTCUTC88小时,UTCUTC是基于0°经度的格林尼治时间)。俄罗斯遵循其指定的时区,但全国永久采用夏令时,比实际时区快11小时。澳大利亚使用三个时区,其中中部时区比其指定时区快半小时。中东和南亚的一些国家也采用半小时时区。

由于时区基于经度段,而经线在两极汇聚,因此在南北极工作的科学家通常直接使用UTCUTC时间。否则,南极洲将被划分为2424个非常狭窄的时区!

时区最近被赋予以下标准大写字母缩写:

UTCUTC 协调世界时
GMTGMT 格林尼治标准时间,定义为UTCUTC
BSTBST 英国夏令时,定义为UTC+1UTC+1小时
ISTIST 爱尔兰夏令时,定义为UTC+1UTC+1小时
WETWET 西欧时间,定义为UTCUTC
WESTWEST 西欧夏令时,定义为UTC+1UTC+1小时
CETCET 中欧时间,定义为UTC+1UTC+1
CESTCEST 中欧夏令时,定义为UTC+2UTC+2
EETEET 东欧时间,定义为UTC+2UTC+2
EESTEEST 东欧夏令时,定义为UTC+3UTC+3
MSKMSK 莫斯科时间,定义为UTC+3UTC+3
MSDMSD 莫斯科夏令时,定义为UTC+4UTC+4
ASTAST 大西洋标准时间,定义为UTC4UTC-4小时
ADTADT 大西洋夏令时,定义为UTC3UTC-3小时
NSTNST 纽芬兰标准时间,定义为UTC3.5UTC-3.5小时
NDTNDT 纽芬兰夏令时,定义为UTC2.5UTC-2.5小时
ESTEST 东部标准时间,定义为UTC5UTC-5小时
EDTEDT 东部夏令时,定义为UTC4UTC-4小时
CSTCST 中部标准时间,定义为UTC6UTC-6小时
CDTCDT 中部夏令时,定义为UTC5UTC-5小时
MSTMST 山地标准时间,定义为UTC7UTC-7小时
MDTMDT 山地夏令时,定义为UTC6UTC-6小时
PSTPST 太平洋标准时间,定义为UTC8UTC-8小时
PDTPDT 太平洋夏令时,定义为UTC7UTC-7小时
HSTHST 夏威夷标准时间,定义为UTC10UTC-10小时
AKSTAKST 阿拉斯加标准时间,定义为UTC9UTC-9小时
AKDTAKDT 阿拉斯加标准夏令时,定义为UTC8UTC-8小时
AESTAEST 澳大利亚东部标准时间,定义为UTC+10UTC+10小时
AEDTAEDT 澳大利亚东部夏令时,定义为UTC+11UTC+11小时
ACSTACST 澳大利亚中部标准时间,定义为UTC+9.5UTC+9.5小时
ACDTACDT 澳大利亚中部夏令时,定义为UTC+10.5UTC+10.5小时
AWSTAWST 澳大利亚西部标准时间,定义为UTC+8UTC+8小时

给定一个时区的当前时间,你需要计算另一个时区的当前时间。

输入

第一行输入包含NN,表示测试用例的数量。每个用例给出一行时间,以及两个时区缩写。时间以标准的a.m./p.m.a.m./p.m.格式给出,午夜表示为“midnight”,正午表示为“noon”(12:0012:00 a.m.a.m.12:0012:00 p.m.p.m.是矛盾的说法)。

输出

对于每个用例,假设给定的时间是第一个时区的当前时间,输出第二个时区的当前时间。

输入数据 1

4 
noon HST CEST  
11:29 a.m. EST GMT  
6:01 p.m. CST UTC  
12:40 p.m. ADT MSK

输出数据 1

midnight  
4:29 p.m.  
12:01 a.m. 
6:40 p.m.