getMonth in javascript dà il mese scorso

Sto usando un datepicker che dà una data nel formato dom 7 luglio 00:00:00 EDT 2013. Anche se il mese dice luglio, se faccio un getMonth, mi dà il mese precedente.

var d1 = new Date("Sun Jul 7 00:00:00 EDT 2013"); d1.getMonth());//gives 6 instead of 7 

Che cosa sto facendo di sbagliato?

Perché getmonth () parte da 0. Puoi voler avere d1.getMonth() + 1 per ottenere quello che vuoi.

getMonth() funzione getMonth() è a base zero indicizzata. Devi fare d1.getMonth() + 1

Recentemente ho usato la libreria Moment.js e non ho mai guardato indietro. Provalo!