Błąd milenijny był problemem komputerowym, który zagrażał działalności korporacji, przedsiębiorstw użyteczności publicznej, branż finansowych, agencji rządowych, a nawet nauki. O północy między 31 grudnia 1999 a 1 stycznia 2000 obawiano się, że wszystkie komputery mogą się wyłączyć. Błąd milenijny jest również znany jako problem roku 2000, problem roku 2, błąd roku 2 i najczęściej określany jest po prostu jako problem roku 2.
Błąd milenijny był w szczególności problemem programistycznym. Było to wynikiem połączenia kwestii kosmicznej oraz braku perspektywicznego myślenia ze strony programistów w latach 1960. i 1970. XX wieku. Na początkowych etapach programowania komputerowego pamięć i inne miejsca do przechowywania były rzadkie i drogie, więc zapisywanie postaci było priorytetem.
Programiści pisali kod aplikacji biznesowej przy użyciu COBOL (powszechny język zorientowany na biznes) i RPG (generator programowania raportów) do uruchamiania na komputerach mainframe. Programiści zapisywali daty w formie rrmmdd, które obejmowały łącznie sześć znaków, automatycznie sortując w kolejności rosnącej. Każdy z tych znaków odpowiadał całemu obszarowi (bajtowi) pamięci komputera. W konsekwencji zaoszczędzenie dwóch bajtów pamięci dla każdej daty było znaczące, biorąc pod uwagę ilość pól dat przechowywanych na kartach, taśmach lub dyskach we wszystkich rekordach we wszystkich plikach na wszystkich komputerach.
W latach 1980. i 1990. programy były modyfikowane pod kątem zmieniających się potrzeb biznesowych, więc programiści utrzymywali, poprawiali i dodawali nowe wymagania do starych aplikacji, zamiast pisać je od nowa. Aktualizacje i modyfikacje wystarczyły, aby oryginalne systemy działały.
W połowie lat 1990-tych programiści zaczęli zdawać sobie sprawę, że daty nie będą poprawnie sortowane do roku 2000. W środowisku komputerowym zaczęło to stawać się problemem wymagającym korekty. Następnie, w 1997 roku, sytuacja stała się powszechnie znana.
Trzeba było podjąć decyzję, czy zacząć od nowa i przepisać programy od początku do końca, czy też naprawić istniejące programy i zapisane daty. Ta opcja wiązała się z kolejnym wyzwaniem, ponieważ część kodu źródłowego została utracona.
W celu rozwiązania tych problemów powstało wiele firm. Jedną z opcji było dodanie stulecia do wcześniej istniejącej daty. Wymagałoby to dodania dwóch dodatkowych bajtów dla każdej daty przechowywanej w dowolnym miejscu w plikach dyskowych. Inni zdecydowali się napisać swoje oprogramowanie od nowa i skorzystać z nowych technologii sieciowych i zorientowanych obiektowo, przenosząc swoje krytyczne aplikacje z komputerów mainframe.
Ponad 300 miliardów dolarów amerykańskich (USD) zostało wydanych na naprawienie błędu milenijnego. Oprócz obaw związanych z oprogramowaniem, niezliczone firmy zajmujące się przetrwaniem powstały i zyskały dzięki zaangażowanej i proaktywnej opinii publicznej.