=== 先回答问题 ===
答案是,在12小时制中,12:00 这个时刻的用法存在少量歧义。
12 AM 可能指:
大部分场合用 12 AM 表示午夜,并且代表一天的开始;个别场合用 12 AM 表示午夜,并且代表一天的结束;但历史上存在极少量情况用 12 AM 表示中午。
与之相对,12 PM:
大部分时候 12 PM 表示中午;但历史上极少量情况是午夜。
至于和日期一起出现时, 12 AM 是(情况1)表示这天开始的午夜时刻,还是(情况2)表示这天结束的午夜时刻,两种用法均存在。从编程的角度考虑,前者简单一点。一般而言,电脑或手机都会是这么显示的,基本上这成为了事实标准。
但生活中有时不是太靠得住,这点在喜欢使用12小时制的国家(例如美国)特别明显。例如某电商打算11月11日一整天进行促销活动,对于中国这样习惯了24小时制表达的地方一般问题不大,海报文案宣传就说从11日0点开始好了(情况1),基本上没人会理解错。可是对于习惯了12小时制的美国,这个就不好表述了:如果说 Nov 11th, 12:00 AM,会有不少人当成(情况2),11日晚上才开始准备然后等到12日凌晨……
=== 然后是解决方案 ===
最简单的解决方案当然是用24小时制,每天从 00:00:00 到23:59:59。强迫症和码农们一看,无比和谐。
可是习惯的力量很强大,我的经验是逼老美习惯24小时制,比逼他们使用公制单位痛苦得多——个人在某研究机构待过,和老美同事交流基本说公制单位他们都懂;因为各种仪器上标的都是公制,一般迟钝下也就换算过来了。但若要预约下午2点开会,跟他们说“at fourteen”打死也不会明白;他们只懂“at two”,连“PM”都经常性省掉。
美国军队倒是使用24小时制;一是打仗约错了行动时间要出大事,二是美国军队遍布全球。