This caused me a bit of a headache last night and I wanted to understand why the getDate method in the Date object is 1 based (returns values from 1-31) while the getMonth m
I suppose months are 0-based because Java did it the same way when the JavaScript language was designed.
EDIT Oracle took down older Java documentation, there is an archived version of that page.