S2.01.2Ambiguous all-numeric dates设计
纯数字日期存在歧义
别名: 数字日期歧义 · 月日顺序歧义 · ambiguous numeric date
概念解释
纯数字日期歧义(ambiguous all-numeric dates)发生在日期只由若干数字与通用分隔符组成,而读者不知道字段顺序、历法或世纪。例如 03/04/05 可被不同读者理解为不同的年、月、日。界面内部按 locale 显示短日期并非错误;风险出现在格式脱离地区上下文、跨地区传播,或用户要据此执行高后果任务时。
机制
当日和月都不大于 12 时,数值范围不能帮助读者判定字段角色;两位年份还增加世纪问题。斜线、点和短横线也不是全球唯一的顺序标记。发送者会自动套用自己的熟悉格式,接收者则可能用另一套惯例同样自信地解析。写出月份名称、使用四位年份或显式标明机器标准,可以增加区分字段所需的信息,但应由本地格式器生成正确语法。
边界
在已知 locale 的个人日历中,短数字格式能节省空间且通常可理解,不必在每处都改成长日期。ISO 8601 的 YYYY-MM-DD 在明确约定的技术交换中消除字段顺序歧义,但若面向普通用户且没有说明,仍可能被当作陌生显示格式。月份名称也可能有缩写碰撞或语言理解问题,因此跨语言关键通信还需明确时区、星期或上下文。
怎么落地
- 对航班、预约、到期、服药、付款与法律期限等高后果日期,采用本地化月份名称和四位年份,必要时加星期与时区。
- 日期输入使用分开的语义字段、日期选择器或带明确示例的 locale-aware 解析;解析后以长格式回显供用户确认。
- 跨系统交换采用带规范说明的机器格式,不让后端猜测用户提交的
01/02/03。 - 在跨地区邮件、导出、通知和截图中测试日期失去原页面 locale 后是否仍可唯一理解。