Autor Zpráva
marian84
Profil *
Len pre zaujímavosť by ma zaujímalo, akú maximálnu hodnotu môže niekedy nadobudnúť funkcia strftime ().
Keď som si dal vypísať dátum a čas desiatich číslic 9999999999 - vyšlo mi 18.01.2038, 19:14:07. Čo ale po tomto dátume? ak som vložil 11 cifier (t.j. o jedno číslo viac) tak mi stále vypísalo predchádzajúci časový údaj. po roku 2038 sa väčšina aplikácií využívajúcich túto funkciu zrúti?
Radek9
Profil
2147483647 je maximální 32-bitové číslo. Pokud se nepřejde na 64-bit tak to opravdu spadne...
Matty
Profil
marian84
http://en.wikipedia.org/wiki/Year_2038_problem
Ale kdo ví, kde bude vývoj aplikací za nějakých 30 let...
AM_
Profil
Radek9
Maximální 32-bitové číslo je 2^32, tedy něco přes 4 miliardy, bohužel u timestampu máš pravdu že je maximum 2147483647 - protože se používá "signed integer", tedy umí jednou tolik do záporna. Když UNIX timestamp vymysleli, asi zapomněli, že čas plyne jen dopředu.

//jen tak pro zamyšlení - stane se to za 19 let. To je sice na jednu stranu ne tak moc, ale kolik dnes používáme 19 let starých aplikací (tj rok 1990 a starší)? Pravda je, že už by bylo na čase nové programy a prostředí psát jinak.
Radek9
Profil
AM:
Maximální 32-bitové číslo je 2^32, tedy něco přes 4 miliardy
The number 2,147,483,647 is also the maximum value for a 32-bit signed integer in computing.
Zdroj: wikipedia.org

tedy umí jednou tolik do záporna. Když UNIX timestamp vymysleli, asi zapomněli, že čas plyne jen dopředu.
Na to nezapoměli, ale když vyvíjeli unix, nemysleli an to, že se to stane :)

stane se to za 19 let
Za 29

Pravda je, že už by bylo na čase nové programy a prostředí psát jinak.
Pokud se nepřejde na 64-bit, tak to opravdu potřeba bude.

Vaše odpověď

Mohlo by se hodit


Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm:

0