Because the folks who wrote the Calendar class were on crack at the time. :roll: Really, there's no good reason for it, but at least the 0 and 1 starting points of the various fields are documented in the API. You just have to read the API carefully when using Calendar - "common sense" will not work here.
"I'm not back." - Bill Harding, Twister
Joined: Sep 29, 2000
Because dates are intinsically numbers anyway so they just aligned them. Months have names that are strings. From the API
DATE public static final int DATEField number for get and set indicating the day of the month. This is a synonym for DAY_OF_MONTH. The first day of the month has value 1.
MONTH public static final int MONTHField number for get and set indicating the month. This is a calendar-specific value. The first month of the year is JANUARY which is 0; the last depends on the number of months in a year.