跳转到主要内容
基础概念

AM/PM(上午/下午)

shang wu xia wu

概述

AM(ante meridiem,拉丁语意为“正午之前”)和 PM(post meridiem,“正午之后”)是 12 小时制中用来将一天分为两半的标记。12:00 AM 到 11:59 AM 覆盖上午时段,12:00 PM 到 11:59 PM 覆盖下午和晚间时段。12 点这一小时是该体系中唯一违背直觉的部分,下一节会专门说明。美国、加拿大、澳大利亚和菲律宾等国在日常生活中以此为标准。

12:00 的歧义

12:00 AM 和 12:00 PM 的表示在逻辑上存在矛盾。按照惯例,12:00 PM 表示正午,12:00 AM 表示午夜,但将正午称为“post meridiem”(正午之后)与其字面含义相悖。为避免混淆,实践中有两种做法。NIST 的常见问答、American Heritage Dictionary、Canadian Press Stylebook 等文体指南建议干脆不用标记,直接写作“12 noon”和“12 midnight”。而美国的法律合同以及航班、长途汽车和铁路时刻表则把时间挪开一分钟,写作“11:59 p.m.”或“12:01 a.m.”,不给解释留下余地。

软件处理

在接收 12 小时制的用户输入时,需要特别注意 12 点的处理。12:30 AM 转换为 24 小时制是 0:30,而 12:30 PM 保持为 12:30。输入验证必须拒绝非法值,如 12:60 PM 或 13:00 PM。最安全的设计模式是在内部以 24 小时制(0 到 23)存储所有时间,仅在显示层转换为 AM/PM 格式。

这篇文章对您有帮助吗?

相关术语