Pourquoi existe-t-il environ 30 jours dans JS Date Difference Script?

Je suis en train d'apprendre JavaScript et Jquery et j'ai rencontré une solution pour soustraire 2 dates les unes des autres. Cependant, le résultat est inférieur à 30 jours. Comment venir? Qu'est-ce que je fais mal? De plus, quelle serait la meilleure pratique?

<script> var d1 = new Date(); // todays date var d2 = new Date(2011,12,27); var msPerDay = 1000*60*60*24; document.write( ((d1 - d2) / msPerDay).toFixed(0) + " days"); </script> 

Merci d'avance

Les mois Javascript ne sont pas basés sur zéro.

Décembre est 11 .
12 se déroulera et deviendra janvier de l'année prochaine.