2012-09-03 10 views
31

utilizzando Mozilla Firefox Firebug:javascript è la creazione di data sbagliata mese

var myDate = new Date(2012, 9, 23, 0,0,0,0); 
myDate; 

Data {Mar 23 Ott 2012 00:00:00 GMT-0400 (Eastern Daylight Time)}

Perché creare il javascript appuntamento con il mese sbagliato?

+4

I mesi JavaScript sono indicizzati a zero ... * trova il collegamento dupe *. – Matt

+1

@Matt: dammi un paio di minuti per raccogliere alcuni punti rep ;-) – zerkms

+0

Eugh, non posso credere di non trovarne uno. Google mi sta fallendo. – Matt

risposta

54

No, JavaScript Date mesi Iniziamo con 0, così 9 è un 10 ° mese ed è ottobre

Reference:

new Date(year, month [, day, hour, minute, second, millisecond]);

[...]

mese Numero intero valore che rappresenta il mese, iniziando da 0 per gennaio a 11 per dicembre.

+0

È vero anche per il giorno? Ho creato un appuntamento (1982, 10, 14) ... a volte mi dà 13 Ott 1982 23:00 ea volte mi dà 14 Ott 1982 00:00 – Shumii

+2

Penso che valga la pena ricordare che quel mese è a base zero non solo in JavaScript ma quasi ovunque. Ciò segue la tradizione di '' da C. Tutti i campi in C che sono usati per gli array di indicizzazione sono a base zero anche se la forma leggibile dall'uomo sarebbe basata su uno. Ogni volta che API simili venivano poi create altrove, la maggior parte seguiva quella convenzione, come Java o JavaScript. –

6

Nel mondo javascript i mesi iniziano con zero! tipo di strano per me. Comunque, 9 NON è settembre, ma 9 è ottobre.

+2

tipo di strano per me. AAAAAAAAAAAAAAAAAAAAAAAAAA !! WTF !! Grazie uomo!!!! –

+0

Questo non è strano. Nel mondo della programmazione, la maggior parte delle lingue fornisce mesi in numeri interi a 0. –

+0

Sai che stavo per rispondere con "Ma per quanto riguarda i giorni e gli anni? Perché non sono basati su zero?" Ma poi sono arrivato alla realizzazione; in realtà, sono 2 tipi di dati completamente diversi, i mesi sono nomi propri, stringhe e giorni del mese insieme agli anni sono solo numeri, numeri interi. Quindi non è davvero strano, in realtà ha un senso quando ci pensi. –

Problemi correlati