Millennium bug bio je računalni problem koji je ugrozio poslovanje korporacija, komunalnih poduzeća, financijskih industrija, vladinih agencija, pa čak i znanosti. U ponoć između 31. prosinca 1999. i 1. siječnja 2000. strah je bio da se sva računala mogu isključiti. Millennium bug je također poznat kao problem 2000. godine, problem Y2K, bug Y2K, a najčešće se naziva jednostavno Y2K.
Millennium bug bio je posebno problem programiranja. Bio je to rezultat kombinacije problema s prostorom kao i nedostatka promišljanja unaprijed od strane programera 1960-ih i 1970-ih. Tijekom početnih faza računalnog programiranja, memorija i drugi prostor za pohranu bili su oskudni i skupi, pa je spremanje znakova bilo prioritet.
Programeri su pisali kod poslovne aplikacije koristeći COBOL (uobičajeni poslovni jezik) i RPG (generator programiranja izvješća) za rad na velikim računalima. Programeri su pohranili datume u obliku yymmdd koji je uključivao ukupno šest znakova, automatski sortirajući uzlaznim redoslijedom. Svaki od tih znakova bio je jednak jednom cijelom prostoru (bajtu) memorije računala. Posljedično, spremanje dva bajta prostora za pohranu za svaki datum bilo je značajno kada se uzme u obzir količina datumskih polja pohranjenih na karticama, vrpcama ili diskovima u svim zapisima u svim datotekama na svim računalima.
Do 1980-ih i 1990-ih programi su modificirani za promjenjive poslovne potrebe tako da su programeri održavali, prilagođavali i dodavali nove zahtjeve starim aplikacijama, umjesto da ih prepisuju ispočetka. Nadogradnje i modifikacije bile su dovoljne da izvorni sustavi nastave raditi.
Sredinom 1990-ih programeri su počeli shvaćati da datumi neće biti ispravno sortirani do 2000. godine. U računalnoj zajednici to je počelo postajati problem koji je trebalo ispraviti. Tada, 1997. godine, situacija je postala poznata javnosti.
Morala se donijeti odluka da se ili počne ispočetka i prepiše programi od početka do kraja, ili da se poprave već postojeći programi i pohranjeni datumi. Ova opcija je imala još jedan izazov jer je dio izvornog koda izgubljen.
Za rješavanje ovih problema stvorene su mnoge tvrtke. Jedna od opcija bila je samo dodati stoljeće prethodnom datumu. To bi uključivalo dodavanje još dva bajta za svaki datum pohranjen bilo gdje u njihovim datotekama na disku. Drugi su odlučili prepisati svoj softver i iskoristiti prednosti novih mrežnih i objektno orijentiranih tehnologija dok su svoje kritične aplikacije udaljavali od glavnih računala.
Više od 300 milijardi američkih dolara (USD) potrošeno je na ispravljanje tisućljetne greške. Osim softverskih problema, nebrojene tvrtke koje se bave opstankom su se pojavile i profitirale kao rezultat zabrinute i proaktivne javnosti.