Knuth announced in 1998 that implementators could alter this code without fear of being accused of non-compliance. Nearly all implementations that are being actively maintained had been modified to generate 4-digit years in the format file and the log, by the end of 1998. The original sources themselves have now been modified so that 4-digit year numbers are stored.
\year primitive:\year return a meaningful value (which
  means that TeX can, in principle, be implemented on platforms
  that don't make the value of the clock available to user programs).
  The TeXbook (see
  TeX-related books) defines \year as
  "the current year of our Lord", which is the only correct meaning
  for \year for those implementations which can supply a
  meaningful value, which is to say nearly all of them.
  In short, TeX implementations should provide a value in \year
  giving the 4-digit year Anno Domini, or the value 1776 if the
  platform does not support a date function.
  Note that if the system itself fails to deliver a correct date to
  TeX, then \year will of course return an incorrect value.
  TeX cannot be considered Y2K compliant, in this sense, on a
  system that is not itself Y2K compliant.
\year.
  The LaTeX suite
  performs such calculations in a small number of places; the
  calculations performed in the current (supported) version of LaTeX are
  known to be Y2K compliant.
Other macros and macro packages should be individually checked.
This question on the Web: http://www.tex.ac.uk/cgi-bin/texfaq2html?label=y2k