Back in the 1970s and 1980s, the turn of the century looked so remote and memory/disk was so expensive that most programs stored only the last two digits of the year. These produce surprising results when dealing with dates after 1999. They may believe that 1 January 2000 is before 31 December 1999 (00<99), they may miscalculate the day of week, etc. Some programs used the year 99 as a special marker; there are rumours that some car insurance policies were cancelled because a year of 99 was used to mark deleted records.
Complete testing of date-dependent code is virtually impossible, especially where the system under test relies on other systems such as customers' or suppliers' computers. Despite this, the predicted "millennium meltdown" never occurred. Various fixes and work-arounds were successfully applied, e.g. time shifting.