Clockhub Logo
博客联系我们
全部文章
使用指南4 分钟阅读

12 小时制与 24 小时制:怎么换算不出错

12 小时制与 24 小时制之间的换算只有两条规则,但绝大多数人学得并不牢。规则本身很简单,真正让人翻车的是 12 点这个边界——在这里,「加 12」和「减 12」两种直觉都是错的。

下面把整套规则讲完,包括最容易出错的那一段。

佛罗伦萨圣母百花大教堂内的 24 小时钟,表盘标的是 I 到 XXIIII

保罗·乌切洛绘制的 24 小时钟,佛罗伦萨圣母百花大教堂,CC0 授权照片,来自 Wikimedia Commons

两条规则

对于 1:00 到 11:59 之间的任何时刻:

  • 12 小时制 → 24 小时制,下午(PM): 加 12。下午 3:40 变成 15:40。
  • 12 小时制 → 24 小时制,上午(AM): 不变。上午 3:40 仍是 03:40。
  • 24 小时制 → 12 小时制: 小时数 ≥ 13 就减 12 并标 PM;小时数在 00 到 11 之间就保留并标 AM。

这覆盖了 24 小时里的 23 个。剩下那一个小时是 12 点,两条规则都不适用。

12 点这个坑

12 AM 是午夜,12 PM 是正午。 这一点反直觉,也是整个体系里最常见的错误来源。

道理是这样的:AM 是 ante meridiem,「正午之前」;PM 是 post meridiem,「正午之后」。午夜是一天的起点,因此它落在「正午之前」这一半的最开头——12 AM。正午是上午的终点,因此它落在「正午之后」这一半的最开头——12 PM。

换成 24 小时制:

12 小时制24 小时制是什么
12:00 AM00:00午夜,一天的开始
12:01 AM00:01刚过午夜
12:00 PM12:00正午
12:01 PM12:01刚过正午
12:00 AM(次日)24:00 或 00:00当天结束/次日开始

所以「PM 就加 12」这条规则只有一个例外:12 PM 仍然是 12。而「24 小时制减 12」这条规则也只有一个例外:00:xx 变成 12:xx AM,不是 0:xx AM。

完整换算表

12 小时制24 小时制12 小时制24 小时制
12:00 AM00:0012:00 PM12:00
1:00 AM01:001:00 PM13:00
2:00 AM02:002:00 PM14:00
3:00 AM03:003:00 PM15:00
4:00 AM04:004:00 PM16:00
5:00 AM05:005:00 PM17:00
6:00 AM06:006:00 PM18:00
7:00 AM07:007:00 PM19:00
8:00 AM08:008:00 PM20:00
9:00 AM09:009:00 PM21:00
10:00 AM10:0010:00 PM22:00
11:00 AM11:0011:00 PM23:00

注意这个对称性:上午 1 点对应 13:00,上午 2 点对应 14:00,一直到上午 11 点对应 23:00。一旦看出「下午就是上午加 12」,整张表就压缩成了一条关系。

各地分别用哪种

24 小时制是交通运输、广播电视、计算机和军事领域的通用格式,也是欧洲大部分地区、拉美、中国、日本、韩国的默认书写形式。它彻底消除了歧义——不存在「到底哪个 7 点」。

12 小时制是美国、加拿大(法语语境中同时使用 24 小时制)、澳大利亚、新西兰、印度、菲律宾的日常书写与口语形式,英国在非正式场合也常用。英式英语里常写成「3.40pm」,用点号分隔且不加空格。

军事与航空使用压缩写法:1500 读作「fifteen hundred」,0900 读作「oh nine hundred」。书写时省略冒号,有时附带时区后缀,例如表示 UTC 的 Z(Zulu time)。

把 24 小时制读出声

在使用 24 小时制的国家,实际困难往往不在换算而在口述。几条惯例:

  • 00:00——读「零点」或「午夜」。
  • 09:05——军事风格读「oh nine oh five」;日常口语中多数语言读「九点零五」。
  • 15:40——读「十五点四十」,而不是「下午三点四十」。
  • 24:00——在时刻表中合法,表示当天结束,等价于次日 00:00。

常见的五类错误

  1. 以为 12 PM 是午夜。 它是正午。这个错误会直接写进机票订单。
  2. 写成 13:00 PM。 冗余——13:00 已经表示下午了。两套体系选一套。
  3. 把 12:30 PM 换算成 24:30。 没有 24:30 这个东西。12:30 PM 就是 12:30。
  4. 省掉前导零。 09:00 和 9:00 表示同一时刻,但按文本排序时不是——「10:00」会排在「9:00」前面。凡是要排序的数据都补上前导零。
  5. 把 24:00 和 00:00 当成两个不同时刻。 它们是同一个瞬间,只是从两个方向表述。

实际会用到的地方

时间戳、日志、列车时刻表和 API 返回值几乎都是 24 小时制,而且常常是 UTC。时间戳转换器会把两种形式并排显示,是核对不确定数值最快的办法。

如果要做跨 12/24 边界的时长加减,先在 24 小时制下算完再转回去,能完全避开「跨零点」的错误。时间计算器直接支持这种算法。

至于完全不涉及 AM/PM 判断的表盘,数字时钟可以在两种格式之间切换。