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?


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


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)


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.

Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.