Values Returned by getYear() in Different Browsers

  Netscape Explorer
2.02Gold 3.01Gold 4.51 3.02 4.0 5.0
1/1/1899 69 or 70 1 1899 -1 69 or 70 1 1899 1899
1/1/1968 69 or 70 1 68 68 69 or 70 1 68 68
1/1/1999 99 99 99 99 99 99
1/1/2000 100 2000 100 100 2000 2000
1/19/2038 69 or 70 1 2038 138 69 or 70 1 2038 2038

Footnotes

  1. This browser returns either 69 or 70, depending on your time zone, because an error occurred in processing the date. The browser stores dates as milliseconds since Jan 1, 1970 GMT, and when there's an error that's the value it returns. So if you're in a timezone to the west of GMT you'll get 69, since the date is local to the time zone of the browser, and if you're in GMT or to the east you'll get 70.

    Some browsers are unable to interpret negative numbers for "milliseconds since 1/1/1970," and so they will generate an error when the date is before that. Another problem is that since the milliseconds value is stored in a 32-bit integer, there is a maximum value where that integer overflows which is sometime during the day of Jan 18, 2038.