Year zero
Historians have never included a year zero. This means that between, for example, and , there are 999 years: 500 years BC, and 499 years AD preceding 500. In common usage "anno Domini" 1 is preceded by the year 1 BC, without an intervening year zero. Neither the choice of calendar system (whether Julian or Gregorian) nor the era ("Anno Domini" or Common Era) determines whether a year zero will be used. If writers do not use the convention of their group (historians or astronomers), they must explicitly state whether they include a year 0 in their count of years, otherwise their historical dates will be misunderstood.
Year 2000 problem
Normally, a year is a leap year if it is evenly divisible by four. A year divisible by 100, however, is not a leap year in the Gregorian calendar unless it is also divisible by 400. For example, 1600 was a leap year, but 1700, 1800 and 1900 were not. Some programs may have relied on the oversimplified rule that "a year divisible by four is a leap year". This method works fine for the year 2000 (because it is a leap year), and will not become a problem until 2100, when older legacy programs will likely have long since been replaced. Other programs contained incorrect leap year logic, assuming for instance that no year divisible by 100 could be a leap year. An assessment of this "leap year problem" including a number of real life code fragments appeared in 1998. For information on why century years are treated differently, see Gregorian calendar.