parse a month component

月 (HTML)

[11] 月 (month) は、先発グレゴリオ月を表します。ただし、 月は時間帯の情報を持ちませんし、日付の精度は年と月だけで、日は特定しません。 HTML5

仕様書

構文定義

[71] HTML は1年より前の年 (紀元前) に対応していません。

構文解析

[14] 月文字列の構文解析 (parse a month string) HTML5:

  1. 月部品の構文解析を行い、それが何も返さなかったら、何も返さないで終える
  2. 文字列がそれで終わっていなければ、何も返さないで終える
  3. (1) で得られた年と月を返す

[15] 月部品の構文解析 (parse a month component) HTML5:

数値表現

[66] valueAsNumber DOM属性では、 1970年1月からの月の数によって表現されます。

[69] 他とは違ってこれだけミリ秒単位の数ではなく、月の数になっています。 年によって月に属する日の数が異なるからでしょうか。

[3] HTML Standard は「1970年1月と当該月の間の月の数」と規定しています >>2。 この定義だと1970年以降だけでなく、1969年以前も正の値と解釈できてしまいますが、 実装は1969年以前の月だと負の値を返しますし、それが仕様書の意図と思われます。

[4] この数について HTML Standard は特に名前を与えていませんが、 便宜上HTML月数 (HTML month number) と呼ぶことがあります。

[67] valueAsDate DOM属性では、 その月の初日の朝の UTC 真夜中を表す Date 物体によって表現されます >>2。

[68] 月を入力する input 要素の step 属性では、 時間が月単位の数によって表現されます。 HTML5

文脈

[52] type が month の input 要素で使用されます。

[72] time 要素にも使用できます。

[73] autofill の定義にも用いられています。