Is browser required to detect user timezone for datetime input?
我安装了Opera浏览器,因为它是目前唯一拥有HTML5
根据我在Opera中观察到的,时区固定为UTC而不是跟随用户的
W3C是否需要UTC作为
经过进一步研究,我发现这是:
whatwg似乎暗示了相反的方式:
- 日期时间(特定年份,月份,日期,时间)
- datetime-local(特定年份,月份,日期,时间,时区)
Mozilla文档说明了这一点:
- datetime:HTML5用于根据UTC时区输入日期和时间(小时,分钟,秒和小数秒)的控件。
W3C提出以下建议:
-
用户代理不得允许用户将值设置为非空字符串,该字符串不是以UTC表示的有效全局日期和时间字符串,尽管用户代理可以允许用户在另一个时区中静默设置和查看时间在值中转换UTC时区的时间。如果用户代理提供用于选择全局日期和时间的用户界面,则该值必须设置为以UTC表示的有效全局日期和时间字符串,表示用户的选择。
-
向用户显示的格式独立于用于表单提交的格式。鼓励浏览器使用根据用户首选语言环境的约定显示日期和时间的用户界面。
在我看来,W3C允许
你问的唯一问题是:
Does W3C requires UTC to be the default timezone for datetime input, or is Opera browser doing the right thing by fixing timezone as UTC?
但正如你指出的那样:
user agents may allow the user to set and view the time in another time zone
所以你的问题的答案是W3C不需要UTC作为输入,但确实允许它,因此Opera将以正确的方式做任何事情。
这些模糊的规范非常愚蠢。 实际上,它们相当适得其反。 我不明白为什么他们甚至不打算如果他们不打算实际定义所需的行为。