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
In JavaScript, counters start at zero.
Months do not necessarily have to be represented by a digit. "Months" is a countable sequence. The first element of this sequence is referred by zero.
In real-life, days are represented by a fixed digit. Although days are also countable, it would be extremely confusing to represent the first day as Day Zero.