getMonth()が0で始まる理由


10

私はjavascriptの日付値から1日を削除する関数をコーディングしていましたが、javascriptのgetMonth()が1月の0から12月の11まで始まることにちょっと驚きました。javascriptのgetMonth()が0で始まるのはなぜですか?


4
C struct tmがそのようにしたからです。
ポールトンブリン2009

2
では、より一般的な質問をさせてください。なぜ、月、日、年、時間、分などではなく、月に基づくインデックスが0の日付オブジェクトを作成するのですか?
マフィンマン

回答:


14

推測では、配列へのインデックス付けに役立ちます。

月の表示文字列が配列に格納されていて、getMonth()を使用して正しい文字列を取得したいとします。

もちろん、なぜ配列がゼロから始まるのかは別の問題です


8
ダメダメダメ!!!それはこの質問
cwallenpoole '09 / 09/15

1

おそらく、返される値を取得するために呼び出されたCライブラリー呼び出しが、この方法で月を返します。

(そして、その設計の理由は、ライブラリ呼び出しがプログラムと共に実際に日付を出力するように設計されていたためであり、ゼロベースのインデックスを直接使用して月の名前を出力することができました)


1

構造体の1つの要素が0で始まる場合、すべての要素もそれで始まるか、いずれも始まらない必要があります。私のサイトでの動作は少し遅れて発見しました。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.