S2.01.3Locale hour-cycle preference设计

十二小时制与二十四小时制的地区偏好

别名: 时制偏好 · 12小时与24小时制 · hour cycle

概念解释

地区时制偏好(locale hour-cycle preference)决定时间默认以十二小时周期配合日间标记,还是以二十四小时周期显示。Unicode 的小时周期还细分起点与范围,例如 0–11、1–12、0–23 和 1–24;因此不能只删除 AM/PM 就把十二小时制变成二十四小时制。界面应采用地区默认,同时尊重用户显式选择。

机制

十二小时制必须借助 AM/PM 或更细的上午、下午、夜间等 day period 才能唯一定位一天中的时段;二十四小时制把周期信息编码进小时数。地区数据会给出首选与可接受的小时周期,格式器据此选择小时符号、日间标记和本地文本。手工把 h:mm aHH:mm 固定进界面,会忽略地区覆盖、语言化日间词和午夜/正午表示。

边界

地区偏好不是个人偏好的替代品;军事、医疗、交通与全球协作环境可能规定二十四小时制,用户也可能通过系统设置或 -u-hc- locale 扩展切换。CLDR 的 h24/k 是 1–24 的显示字段,可能把午夜后的 00:mm 显示成 24:mm;ISO 8601 的 24:00 专指某日结束、等于次日 00:00,不能据此把 24:30 当作 ISO 时间。格式器的 h24 输出因此不能直接充当 ISO 交换值。时制选择也不提供时区:18:00 若没有地点或偏移量,仍可能指不同瞬间。

怎么落地

  • 默认使用 locale-aware 时间格式器的自动小时周期,并读取系统或账户层的显式覆盖;不要从语言名称猜测。
  • 输入控件与输出保持同一时制;十二小时输入必须提供清晰、本地化且可由辅助技术识别的日间选择。
  • 覆盖午夜、正午、周期边界和单数字小时测试,检查排序、朗读、窄屏与复制到外部后的含义。
  • 在跨时区事件中另行显示时区或地点,并允许用户查看自己的本地时间;不要把二十四小时制当作时区消歧。

延伸

  • 同组S2.01.1 年月日的顺序随地区不同 · S2.01.2 纯数字日期存在歧义 · S2.01.4 周起始日随地区不同 · S2.01.5 非公历历法的并存显示
  • 相邻S2.06 时区与夏令时 · S2.07 相对时间与时间范围
  • 站内检索Unicode hour cycle · locale timeData · day period formatting

同组卡片

快捷操作

分享

分享当前页面

ios_share

https://hci.top/zh/handbook/S2.01.3