чому getMonth () починається з 0


10

Я кодував функцію видалення дня зі значення дати в JavaScript, і я був несподіваним, що getMonth () JavaScript починається з 0 січня по 11 грудня. Чому getMonth () JavaScript починається з 0?


4
Тому що C це struct tmзробили саме так.
Пол Томблін

2
Гаразд, дозвольте мені задати більш загальне питання. Чому ви пишете об’єкт дати, який має 0 індексних місяців, а не днів, років, годин, хвилин тощо?
The Muffin Man

Відповіді:


14

на здогадку, щоб допомогти з індексуванням у масиви.

Уявіть, що у вашому масиві зберігаються рядки відображення місяця і хочете отримати правильну рядок за допомогою getMonth ()

Звичайно, чому масиви починаються з нуля - це інше питання


8
Ні-ні-ні!!! Це стосується цього питання
cwallenpoole

1

Швидше за все, через те, що виклик бібліотеки С викликається, щоб отримати значення для повернення, повертає місяці таким чином.

(І причина такого дизайну була, швидше за все, тому, що виклик бібліотеки був розроблений разом з програмою, щоб насправді надрукувати дату, де індекс на основі нуля може використовуватися безпосередньо для друку імен місяців)


1

Якщо один елемент у структурі починається з 0, то всі елементи також повинні починатися з нього або жодного з них. Я виявив таку поведінку на своєму сайті трохи пізно.

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.