为啥具有 ISO 8601 值的日期时间字段在 iOS webkit 浏览器中不起作用?
Posted
技术标签:
【中文标题】为啥具有 ISO 8601 值的日期时间字段在 iOS webkit 浏览器中不起作用?【英文标题】:Why don't datetime fields with ISO 8601 values work in iOS webkit browsers?为什么具有 ISO 8601 值的日期时间字段在 iOS webkit 浏览器中不起作用? 【发布时间】:2013-05-19 17:40:43 【问题描述】:为什么以下日期时间字段在 Safari 或 ios 中的 PhoneGap 中不显示当前值?
<input type="datetime" value="2013-05-22T10:00:00+0000" />
它显示一个空白值。
【问题讨论】:
【参考方案1】:在 iOS 中,日期时间输入字段仅适用于 UTC 值,并且仅适用于祖鲁时区指定。本地时间和带有 +0000
偏移量的 UTC 时间都是不可接受的。时间中包含毫秒是可以接受的。
以下值有效:
<input type="datetime" value="2013-05-22T10:00:00Z" />
<input type="datetime" value="2013-05-22T10:00:00.000Z" />
这些都不起作用:
<input type="datetime" value="2013-05-22T10:00:00+0000" />
<input type="datetime" value="2013-05-22T10:00:00.000+0000" />
<input type="datetime" value="2013-05-22T10:00:00-0700" />
<input type="datetime" value="2013-05-22T10:00:00.000-0700" />
<input type="datetime" value="2013-05-22T10:00:00" />
<input type="datetime" value="2013-05-22T10:00:00.000" />
【讨论】:
很好的答案,但您知道其中的原因吗? spec 清楚地显示了一个带有偏移量的示例,并表示任何符合 RFC3339 的值都应该有效。以上是关于为啥具有 ISO 8601 值的日期时间字段在 iOS webkit 浏览器中不起作用?的主要内容,如果未能解决你的问题,请参考以下文章
在 php 中获取带有 seconds.decimal-fraction-of-second 日期的 ISO 8601?