mengapa getMonth () dimulai dengan 0

10

Saya sedang mengkode fungsi untuk menghapus satu hari dari nilai tanggal dalam javascript dan saya agak terkejut bahwa getMonth () mulai javascript dari 0 untuk Januari hingga 11 untuk Desember. Mengapa getMonth () javascript dimulai dengan 0?

mahen23
sumber
4
Karena C struct tmmelakukannya dengan cara itu.
Paul Tomblin
2
OK jadi izinkan saya mengajukan pertanyaan yang lebih umum. Mengapa Anda menulis objek tanggal yang memiliki bulan berbasis indeks 0 tetapi tidak hari, tahun, jam, menit dll?
The Muffin Man

Jawaban:

14

di tebakan, untuk membantu pengindeksan ke dalam array.

Bayangkan Anda memiliki string tampilan bulan Anda disimpan dalam array dan ingin mendapatkan string yang benar menggunakan getMonth ()

tentu saja, mengapa array mulai dari nol adalah pertanyaan lain

jk.
sumber
8
Tidak tidak Tidak!!! Ini ada hubungannya dengan pertanyaan ini
cwallenpoole
1

Kemungkinan besar karena panggilan pustaka C dipanggil untuk mendapatkan nilai kembali, mengembalikan bulan dengan cara ini.

(Dan alasan untuk desain itu kemungkinan besar karena panggilan perpustakaan dirancang bersama dengan program untuk benar-benar mencetak tanggal, di mana indeks berbasis nol dapat digunakan secara langsung untuk mencetak nama bulan)


sumber
1

Jika satu elemen dalam struct dimulai dengan 0 maka semua elemen harus mulai dengan itu juga atau tidak ada satupun. Saya menemukan perilaku itu di situs saya agak terlambat.

Tarik
sumber