【问题标题】:Html5 time tag's datetime attribute - day month orderHtml5时间标签的datetime属性——日月顺序
【发布时间】:2014-12-12 23:58:25
【问题描述】:

<time datetime="" /> 属性的正确格式是什么?日子是否在月份之前,反之亦然:

 <time datetime="yyyy-dd-mm"></time>

 <time datetime="yyyy-mm-dd"></time>

在哪里

 mm = Month (ie 01)
 dd = Day (ie 20)

【问题讨论】:

  • 我觉得这应该被关闭......似乎有很多参考网站你可以看看这个。但我不知道这是否是结束问题的正当理由。
  • 我找到了一个标记它的理由 - 这个问题基本上是在寻找指向手册的链接,这使它偏离主题。
  • 我认为它增加了价值。它为正确使用新的(-ish)技术提供了一个易于理解和权威的答案。
  • 它可以增加价值,但它也吸引了低质量和仅链接的答案,然后被标记并堵塞审查队列。因此,我们将关闭它以防止其他人添加额外的答案(对于这样一个简单的问题,它的答案已经与人们预期的一样好),而不是完全删除它。
  • 请注意,time 元素不是 void 元素,因此语法 &lt;time datetime="yyyy-dd-mm" /&gt; 虽然正式有效,但不应使用。当文档被处理为 XML (XHTML) 时,它意味着一个内容为空的元素,这几乎没有意义,因为内容是时间的指定。在 HTML 语法中,它被视为一个开始标记,如果没有匹配的结束标记,则应用一定的错误恢复,导致将文档的某些部分作为元素的内容。

标签: html5 date html


【解决方案1】:

它是yyyy-mm-dd,以符合 ISO-8601 和一般常识。

来自W3C proposed recommendation

注意:虽然此处描述的格式旨在成为相应 ISO8601 格式的子集,但本规范定义的解析规则比 ISO8601 更详细。因此,鼓励实现者在使用它们来实现下面描述的解析规则之前仔细检查任何日期解析库; ISO8601 库可能不会以完全相同的方式解析日期和时间。 [ISO8601]

这是我在推荐中能找到的最简单的指示,尽管还有 "dates" section 表示日期是 valid-month-string 后跟 - 然后是一天,并且定义了有效月份字符串如:

一个字符串是一个有效的月份字符串,如果它由给定顺序的以下组件组成,则表示年份和月份:

  • 四个或更多 ASCII 数字,代表年份,其中年份 > 0
  • 一个“-”(U+002D)字符
  • 两个ASCII数字,代表月份月份,范围1≤月≤12

【讨论】:

  • 目前还不是推荐,但接近(Proposed Recommendation)。
【解决方案2】:

第二个是正确的: &lt;time datetime="yyyy-mm-dd" /&gt;

【讨论】:

  • 这应该是评论(或赞成票)而不是新答案
【解决方案3】:

你应该使用yyyy-mm-dd的格式

【讨论】:

  • 感谢您的回答!虽然您的答案绝对正确,但我将其授予 Jon Skeet,因为他获得了 W3C 引用。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2015-09-22
  • 1970-01-01
  • 2013-08-28
  • 1970-01-01
  • 2011-06-23
  • 1970-01-01
相关资源
最近更新 更多