Problém roku 2038

problém s kalendářními daty ukládanými jako 32bitový integer

Problém roku 2038 (jinak známý jako „Unix millenium bug“, „Y2K38“, „Y2K+38“, nebo „Y2.038K“ podle přirovnání k problému Y2K) může hypoteticky způsobit pád počítačových programů v roce 2038. Problém může nastat v unixových nebo podobných datovacích systémech, které reprezentují systémový čas jako počet sekund (ignorujíce přestupné sekundy) od 00:00:00 1. ledna 1970. Tato reprezentace času se díky masové rozšířenosti programovacího jazyka C vyskytuje v programech pro většinu operačních systémů. Datový typ time_t je na většině 32bitových systémů používán k ukládání počítadla sekund jako 32bitové celé číslo se znaménkem (32-bit signed integer). Poslední čas, který takto může být zapsán, je úterý 19. ledna 2038 v 03:14:07. Čas v další sekundě „přeteče“ a bude vnitřně reprezentován jako záporné číslo, což může způsobit pád programů, jelikož neuvidí takovéto datum jako 2038, ale spíše jako 1901.

Příklad, jak by se mohlo resetovat datum (03:14:08 UTC 19. ledna 2038)

Související články

editovat

Reference

editovat

V tomto článku byl použit překlad textu z článku Year 2038 problem na anglické Wikipedii.

Externí odkazy

editovat