我正在寻找一种在 HTML5 中语义表示日期的解决方案。根据新规范,现在可以给出没有日期、月份部分等的日期,例如:
<time datetime="2011">Last year</time>
本文还演示了一些有用的示例。但是仍然没有提到 BC/BCE 时期的日期。任何语义解决方案?
该time
元素不适用于无法在公历上表示的日期,因此该datetime
属性在 BCE 年份没有支持或标准。datetime
由于浏览器支持和公历采用的复杂性,这似乎是一个有目的的限制。
当前指定的 HTML5 不允许使用 0 年之前的日期。
HTML5 日期时间格式是ISO 8601日期时间格式的子集。ISO 8601 允许日期 BC/BCE,简单地用减号前缀书写,例如-86
。
但在 HTML5 中,不允许使用减号前缀。我不知道这是故意的,还是有什么理由。
解决这个问题的一种可能方法是简单地使用 ISO 8601 日期和时间元素,忽略 HTML5 对负值的禁止,我猜。
如果您对此非常关心,您可能还想针对 HTML 规范提交评论。