4

datetime現在、HTML5カレンダー機能を備えている唯一のブラウザーであるため、Opera ブラウザーをインストールしました。datetime入力には 2 種類あります。1 つはdatetime-localタイムゾーン情報が省略されている場合です。もう 1 つはdatetime、タイム ゾーン情報が追加される場所です。

私が Opera で観察したところによると、タイムゾーンは入力のためにユーザーのタイムゾーンに従うのではなく、UTC に固定されていdatetimeます。ユーザーは通常、自分のタイムゾーンに基づいて正しい UTC 時刻を計算することは言うまでもなく、UTC 時刻が何であるかを知らないため、これは直感に反しているように見えます。

W3C はdatetime入力のデフォルトのタイムゾーンを UTC にする必要がありますか、それとも Opera ブラウザはタイムゾーンを UTC に固定することで正しいことを行っていますか?

さらに調査すると、これが私が見つけたものです:

whatwgは反対の方法を示唆しているようです:

  • datetime (特定の年、月、日、時刻)
  • datetime-local (特定の年、月、日、時間、タイムゾーン)

Mozilla のドキュメントには次のように書かれています。

  • datetime: HTML5 UTC タイム ゾーンに基づいて日付と時刻 (時、分、秒、秒未満) を入力するためのコントロール。

W3Cは次のことを提案しています。

  • ユーザー エージェントは、ユーザーが UTC で表された有効なグローバルな日付と時刻の文字列ではない空でない文字列に値を設定することを許可してはなりませんが、ユーザー エージェントは、ユーザーが別のタイム ゾーンでサイレント モードで時刻を設定および表示することを許可する場合があります。値の UTC タイム ゾーンとの間で時刻を変換します。ユーザー エージェントがグローバルな日付と時刻を選択するためのユーザー インターフェイスを提供する場合、その値は、ユーザーの選択を表す UTC で表された有効なグローバルな日付と時刻の文字列に設定する必要があります。

  • ユーザーに表示される形式は、フォームの送信に使用される形式とは無関係です。ブラウザーは、ユーザーの優先ロケールの規則に従って日付と時刻を表示するユーザー インターフェイスを使用することをお勧めします。

W3C ではdatetime入力をローカル形式にすることができますが、フォームから送信される最終的な値は UTC 形式で表現する必要があるようです。

4

1 に答える 1

1

あなたが尋ねた唯一の質問は:

W3C は日時入力のデフォルトのタイムゾーンを UTC にする必要がありますか、それとも Opera ブラウザはタイムゾーンを UTC に固定することで正しいことを行っていますか?

しかし、あなたが指摘したように:

ユーザー エージェント、ユーザーが別のタイム ゾーンで時刻を設定および表示できるようにすることができます

したがって、あなたの質問に対する答えは、W3C は入力に UTC を必要としないが、UTC を許可するので、Opera はどちらの方法でも正しいことを行うということです。

この種のあいまいな仕様はかなりばかげています。実際、それらはかなり逆効果です。必要な動作を実際に定義するつもりがないのに、なぜ彼らが気にするのか理解できません。

于 2013-06-09T19:20:02.340 に答える