dlaczego getMonth () zaczyna się od 0

10

Kodowałem funkcję, aby usunąć dzień z wartości daty w javascript i byłem zaskoczeniem, że getMonth () javascript zaczyna się od 0 dla stycznia do 11 dla grudnia. Dlaczego getMonth () javascript zaczyna się od 0?

mahen23
źródło
4
Ponieważ C struct tmzrobił to w ten sposób.
Paul Tomblin
2
OK, więc pozwól mi zadać bardziej ogólne pytanie. Dlaczego miałbyś pisać obiekt daty, który ma 0 miesięcy opartych na indeksie, ale nie ma dni, lat, godzin, minut itp?
The Muffin Man

Odpowiedzi:

14

odgadnąć, aby pomóc w indeksowaniu do tablic.

Wyobraź sobie, że masz ciągi wyświetlania miesiąca zapisane w tablicy i chcesz uzyskać poprawny ciąg za pomocą getMonth ()

oczywiście, dlaczego tablice zaczynają się od zera, to kolejne pytanie

jk.
źródło
8
Nie nie nie!!! Ma to związek z tym pytaniem
cwallenpoole,
1

Najprawdopodobniej wywołane wywołanie biblioteki C w celu uzyskania wartości do zwrócenia zwraca w ten sposób miesiące.

(Przyczyna tego projektu była najprawdopodobniej dlatego, że wywołanie biblioteki zostało zaprojektowane wraz z programem do rzeczywistego drukowania daty, przy czym do drukowania nazw miesięcy można użyć indeksu zerowego)


źródło
1

Jeśli jeden element w strukturze zaczyna się od 0, wówczas wszystkie elementy również powinny zaczynać się od niego lub żaden z nich. Nieco późno odkryłem to zachowanie na mojej stronie.

Tarik
źródło