daniel1302
27.12.2012, 16:37:01
Nastąpi to 19 stycznia 2038 o godz. 03:14:07.
Jeśli nie wiecie co to(cytat z wikipedii):
"Unix time wyczerpie się 19 stycznia 2038 o godz. 03:14:07 GMT ? wtedy może pojawić się problem roku 2038."
Jak myśli cie co będzie potem? Nastąpi przepełnienie i czas będzie szedł od 0? Ciekawe ile serwisów będzie musiało zostać zresetowanych? Sam korzystam często z time oraz date(FORMAT, UNIX_TIME) w swoich projektach..
Crozin
27.12.2012, 16:45:08
1. Problem ten dotyczy jedynie przypadków, gdzie do przechowywania czasu korzysta się z 32-bitowej zmiennej INT. Już od dawna większość implementacji tego typu zegarów korzysta z 64-bitowych zmiennych.
2. Co się stanie? Ustaw sobie w systemie datę i czas na 19-01-2038 03:09:07, poczekaj 5 minut i sprawdź.
Cytat(Crozin)
2. Co się stanie?
Dokładnie to samo co w roku 2000. Nic.
thek
28.12.2012, 00:01:48
Jak to co? Obudzisz się i stwierdzisz, że kolesie z 5 wymiaru zrobili Cię w bambuko

A tak poważniej... Crozin ma rację. Problem ten tyczy jedynie systemów czasem, gdzie jest on wyrażany liczbą całkowitą w 32-bitowej architekturze. Do feralnej daty będzie zapewne w powszechnym użyciu już 128 lub 256-bitowa, więc wielkości zostaną przedłużone do teoretycznie niewyobrażalnych, aczkolwiek łatwo policzalnych
abort
28.12.2012, 12:44:06
Od siebie dodam, że podobne przypadki związane z niedoszacowaniem rozwoju danego obszaru miały już miejsce wielokrotnie. Dwadzieścia parę lat temu kompy to było (przeciętnie) XT/AT/386, 512-2048KB RAM, dysk kilkadziesiąt mega. Od tego czasu wielokrotnie świat stawał przed pytaniem "a co będzie, jeśli...". Przykłady pytań i rozwiązań:
- "co zrobić, jeśli chcę mieć partycję >32MB"? zmień FAT12 na FAT16
- problem z "długimi nazwami" w systemie 95/98? Mapowanie nazw (tak, wiem - upraszczam) do czasu upowszechnienia się FAT32
- potrzeba obsługi >640KB RAM w sposób natywny? procesory i systemy 32bit.
- chcę mieć partycję >4GB => FAT32
- chcę obsłużyć dyski większe niż 128GB => wprowadzono LBA48
- praca >1 osoby na kompie? Proteza w postaci profili userów w 95/98 i dalej systemy wieloużytkownikowe: NT/2000/XP i następne (tak, wiem: Unix istniał nawet wcześniej)
- zapis znaków narodowych dla krajów innych niż USA? najpierw zestawy znaków (ISO/KOI/Win), aktualnie Unicode
- problem roku 2000? Zapisujmy rok w czterech znakach, a nie dwóch
- wyczerpuje się pula adresów IPv4? Od dawna istnieje IPv6 (kwestia bezwładności środowiska to inna bajka)
- potrzebuję więcej niż 4GB RAM? Zastosuj system 64bit
W związku z tym na zadane pytanie "co będzie, jeśli" - mogę dać uniwersalną odpowiedź: "wymyśli się coś innego" (lepszego - przynajmniej w tej kwestii, że podoła nowym wymaganiom).