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 形式で表現する必要があるようです。