Problém Y2K byl snadno uchopitelný, a tak se o něm hodně mluvilo. Programátoři nejrůznějších softwarových systémů se snažili šetřit místem, a tak namísto celého letopočtu zapisovali pouze poslední dvě číslice. To nebyl problém až do roku 2000, který by se jevil jako 1900. Už před čtvrtstoletím si mnoho lidí nebylo jistých, jak moc systémů podobnou chybou trpí a co všechno se může o silvestrovské půlnoci stát. Panovaly obavy hlavně o kritickou infrastrukturu, jako jsou elektrárny, přes noc preventivně nelétala letadla a tak dále.
Nakonec se nic hrozného nestalo. Pár lidem přišly faktury se sto let starým datem splatnosti, ale celá naše civilizace přežila a mohla dál budovat svou závislost na informačních technologiích. Dodnes ale panují spory, nakolik to byl závažný problém, jemuž se podařilo předejít, nebo jen nafouknutá bublina. Podobných záludností týkajících se data a času je ve světě počítačů více. Jejich reprezentace v informačních systémech totiž není úplně triviální a přesahuje možnosti tohoto článku. Programátoři mohou sáhnout ke standardizovaným způsobům, jako je počítání sekund od začátku roku 1970, ale znáte to – člověk je tvor od přírody líný, a tak často sáhne po jednodušším řešení. Praktický je v tomto ohledu formát YYMMDDHHMM. Snadno se s ním pracuje, co se se týče řazení, filtrování záznamů a také je na první pohled vidět, na jaký den odkazuje. Problém je, pokud se toto číslo uloží jako datový typ 32bitový signed integer. Hodnota 2201010001 se do něj jednoduše nevejde, pokus o její zapsání způsobí přetečení a chyby funkcí, které s datem dále pracují.
Dear @msexchangeteam. The FIP-FS “Microsoft” Scan Engine Failed to Load. Can’t Convert “2201010001” to long.
— Mike (@miketheitguy) January 1, 2022
Jako první se do pasti chytil Microsoft. Tomu začátkem nového roku přestal fungovat antimalwarový filtr u jeho poštovních Exchange serverů. Problémy mají i produkty firmy Xilinx a podle zpráv uživatelů na internetu zlobí i některé relativně nové Hondy, které „odcestovaly časem“ do roku 2002.
My @Honda 2007 CR-V clock now useless in 2022; resets to 2:00 MST on 1/1/2002 after every startup. 32-bit signed integer overflow of yymmddHHMM? Would unsigned int fix it? This is time-critical. ;-) Thousands of us need a software update! pic.twitter.com/BSGCaxnMmx
— Sumner Hushing (@_______shushing) January 4, 2022
Jinak ale problém Y2K22 příliš problémů nezpůsobil, lze ale čekat, že se časem bude objevovat u mnoha levných a starších zařízení nejrůznějšího druhu. Mainstreamová média ale mají dost jiných témat, kterými straší lidi. Ti ostatně už dobře vědí, že žádný systém nefunguje na 100 % a dokud kvůli tomu nepadají letadla, není potřeba se vzrušovat.
S klidem si tak můžete odškrtnout další přežitou „apokalypsu“ a začít odpočítávat k 19. lednu 2038, který má o mnoho větší potenciál způsobit nějaké vážnější problémy.