军事时间并不神秘
它不是密码,只是把同一天从 00 数到 23,而不是从 12 数到 12 数两遍。下面所有内容都是这一条决定的。
为什么一天只数一遍
12 小时制必须靠后缀才能消歧。「7 点见」到底是早上还是晚上,全靠 AM/PM 这个标记;而这个标记在口语里、手写时、无线电通话中、赶时间录入的日志里都极容易漏掉。
24 小时制直接把后缀取消掉,歧义也就不存在了——一天里只有一个 19:00。这就是全部理由,也是它在「读错时间代价很高」的场景里活下来的原因:医院、航空、航运、铁路、服务器日志,以及军队。
换算规则,一次说清
00 到 12 点,军事时间和 12 小时制的数字一样,只是补了个前导零:0900 就是上午 9:00。13 到 23 点,减 12 再加 PM:1700 是下午 5:00,2359 是晚上 11:59。分钟从头到尾不动。
真正需要单独记的只有两个 12 点:0000 是午夜,读作 12:00 AM;1200 是正午,读作 12:00 PM。其余全是机械运算。
- 0000 — 午夜,12:00 AM
- 0600 — 上午 6:00
- 1200 — 正午,12:00 PM
- 1300 — 下午 1:00
- 1800 — 下午 6:00
- 2359 — 晚上 11:59,一天中的最后一分钟
午夜是 0000,而 2400 是另一回事
民间文书里有时用 2400 表示「一天的午夜」,军队不用这个写法:一天从 0000 开始,它包含的最后一分钟是 2359。在记录里写 2400,等于造出一个不属于任何一天的时间——而这恰恰是这套格式要消灭的那种歧义。
如果你在排班表里看到 2400,它通常表示「当日结束」这个边界,而不是一个钟点。真要落到具体时刻,把它换算成次日的 0000。
军事时间不等于 UTC
这是两个经常被混为一谈的概念,因为它们都不用 AM/PM 而用数字。军事时间是一种「书写本地时间」的写法;UTC 是一个时区,是全世界约定共用的参考钟。
1700 表示你所在地的下午 5:00,不管它在 UTC 里是几点。航空和军队确实会把两者叠起来用,在时间后面加时区字母(1700Z,读作 seventeen hundred zulu),但光看那四位数字是看不出时区的。
你实际会在哪儿碰到它
病历里是标配——用药时间写 0600 和 1800,而不是 6 AM 和 6 PM。航空、航海、物流调度、列车时刻表,以及你作为开发者随手打开的任何一份日志文件,都是这个格式。
出了美国,它本来就是钟表的默认写法:欧洲、拉美、亚洲大部分地区日常生活都用 24 小时制,AM/PM 反而只在英文语境里出现。如果你是因为某份文件上写着 1700 才来查的,那你属于世界的大多数,不是特例。