老美实际生活中一种常见的解决方案是,避开两个12:00。所以去看 Apple Watch 的在线抢购开始时间,是太平洋时间(PST)4月10日12:01 AM。查火车和长途汽车时刻表的出发或到达时间,很多都要么是 11:59,要么是 12:01。
(附图:灰狗巴士官网Greyhound.com查到的华盛顿 Washingtong, DC 到波士顿 Boston, MA 的时刻表,可以看到中午那班的发车时间故意往后挪了1分钟)
另一种解决方案,同时也是美国国家标准技术研究所(NIST)的推荐方案是:两个 12:00 不用 AM 也不用 PM,一个叫做 12:00 (midnight),另一个叫做 12:00 (noon),有时候就省去时刻本身写成 midnight 和noon。这个有时用于营业性场所贴出来的开门关门时间等。
——不过这个方案依然没解决另一部分的问题:12:00 (midnight) 是指一天的开始还是结束?也就是,11月11日midnight 究竟是指和11月10日相邻的、还是和11月12日相邻的时间点?
(附图:一家连锁超市网站Farm Fresh Supermarkets提供的各分店营业时间;从上下文可以推断出 midnight 指的是这天的结束和下一天的开始,这就是开头说的少量例外情况2。)
=== 一点思考:为什么会搞成这样? ===
其实12小时制中12点表示方式的混乱,代表着序数计数法和基数计数法混用的冲突。
对于日期,年月日都是序数计数,“1月”表示某年的第一个月、“2日”表示某月的第二天,不存在“0年”“0月”“0日”这样的说法(公元1年12月31日后是公元2年1月1日)。
对于24小时制,时分秒都是基数计数,“0点”代表一天最初的那个时刻,“02分”代表一小时内开始两分钟后的一个时刻。所以容许有“0点”“00分”“00秒”的说法(每天23:59:59后是00:00:00)。
然则12小时制发生了一个问题:“时”采用了序数计数,从1-12循环(或者说是12,1,2,...,10,11循环),而“分”“秒”采用的是基数计数,00-59循环。两者混用,交界点就出了问题(11:59:59 AM 后是12:00:00 PM;12:59:59 PM 后是 1:00:00 PM……)。
再