<input type=datetime>

<input type=datetime> (HTML)

[4] HTMLinput 要素は、 type 属性datetime にすると、 UTC における日時を指定するフォーム制御子となります。

仕様書

[5]

構文

[6] フォーム提出などで用いられる値は、 次のような構文を持つ、 ISO 8601プロファイルです。 WF2 2.4

  1. : 4桁以上の数字 (09)
  2. -
  3. : 2桁の数字
  4. -
  5. : 2桁の数字
  6. T
  7. : 2桁の数字
  8. :
  9. : 2桁の数字
  10. 省略可能:
    1. :
    2. : 2桁の数字 (省略はを表す)
    3. 省略可能:
      1. .
      2. 未満: 1桁以上の数字 (省略はを表す)
  11. Z (UTC であることを表す)

数字の連続は十進数を表し、 必要なら零埋めします。

[12] 利用者エージェントは、 先発グレゴリオ暦を用いた値を提出に使用しなければなりません。 また、 0001-01-01 以降に対応しなければなりませんWF2 2.4

[14] 閏秒は、無視しなければなりませんWF2 2.4

[7] 1995-12-31T23:59:59.99Z WF2 2.4

[8] 1996-01-01T00:00Z WF2 2.4

>>7 より10ミリ秒後を表します。

メモ

[15] 零点は、 1970-01-01T00:00:00.0Z です。 WF2 2.4.2

属性との関係

[9] step 属性は、 単位の精度を表します。 既定値60 (1) です。 WF2 2.4

レンダリング

[10] Widget

利用者エージェントは、日時を入力させるための適当な widget を用いることが期待されています。 また、DOMフォーム提出で用いられる書式では UTC が使われますが、利用者に対しては適切な地方時による表示をして構いません。 その場合でも、地方時依存ではなく、 世界時を選択しているのだということを利用者にも明らかにするべきですWF2 2.4

[13] 利用者エージェントは、 過去の日付には適切なを使って利用者に提示して構いません。 例えば、古い日付にはユリウス暦を使ったり、 中国暦を使ったりして構いません。 WF2 2.4 日本の場合、元号神武紀元で代用または併記しても構いません。

実装

[61] 年〜秒で個別に用意されたフォーム制御子を、対応ブラウザでは datetime または datetime-local に置き換えるやつ。

スクリプト: http://suika.fam.cx/www/style/ui/widget-datetime.js.u8

利用例: widget-datetime.js ( 版) http://suika.fam.cx/~wakaba/-temp/test/misc/jswidgets/datetime/widget-datetime-1.html

関連

[11] 類似のフォーム制御子として、 地方時を入力する datetime-local日付だけを入力する dateだけを入力する monthを入力する week時刻だけを入力する time があります。

歴史

[1] IRC logs: freenode / #whatwg / 20150209 ( 版) http://krijnhoetmer.nl/irc-logs/whatwg/20150209

[2] Fix #336: remove <input type=datetime> · whatwg/html@80ba4fa ( 版) https://github.com/whatwg/html/commit/80ba4fa24e5d3d81a10aa1bbd8a2f72f4bcc3f7c