Wpis z mikrobloga

Taka ciekawostka - obecnie na świecie żyją dwie osoby które są na tyle stare, że timestamp ich dnia urodzin jest mniejszy niż minimalny zakres integera.

Dla nieinformatyków: w IT daty zapisujemy z użyciem tak zwanego czasu UNIX, mierzonego jako ilość sekund od 1 stycznia 1970 roku który uznawany jest za umowny początek epoki współczesnych systemów operacyjnych. Daty przed 1970 są zapisywane jako liczby ujemne. Jeśli liczbę taką zapisujemy w standardowej zmiennej typu całkowitego (tzw. Integer) to zakres jej wartości wynosi od -2147483648 do 2147483647 (wynika to z ograniczonej ilości pamięci jakie zajmuje dana zmienna) co przekłada się na zakresy czasu "08:45, 13 grudnia 1901" do "04:14, 19 stycznia 2038".

Wg Wikipedii obecnie żyją dwie osoby które urodziły się przed 13 grudnia 1901 - Chiyo Miyako urodzona 2 Maja 1901 i Masima Leonora Noel urodzona 9 grudnia 1901, obie mają daty urodzenia których nie dałoby się zapisać w zmiennej typu Integer. Stad też dla tych 2 osób trzeba by zmodyfikować taki system tak by zapisywał datę urodzenia w zmiennej Long Integer która ma większy zakres wartości gdyż zajmuje dwa razy więcej miejsca w pamięci.

Oznacza to też, że w 2038 roku będziemy mieć problemy ze starszymi systemami które daty zapisują w zmiennej typu Integer, a nie Long.

#it #programowanie #testowanieoprogramowania #ciekawostki
  • 7
@stranger13: Rozwiązanie jest i dzisiaj, wystarczy zmigrować się do Longa, ale założę się, że wiele osób o tym nie pomyśli, nie wspominając o tych którzy będą siedzieć na jakimś starym systemie kupionym 10-15 lat wcześniej.
@LiczbaPi: Epoka w IT to kewstia umowna. W POSIX i Unix jest to 1 stycznia 1970.

Przykładowo NTP serwuje sekundy od 1 stycznia 1900 roku.
GPS i TAI też inaczej.
MS Excel serwuje czas też od jakiejś dziwacznej epoki.

Tyle pamiętam z praktyki, reszta na Wikipedii:
https://en.wikipedia.org/wiki/Epoch_(reference_date)#Notable_epoch_dates_in_computing

Pewnie też w Google.
Co ciekawe tylko chyba UTC uwzględnia tzw. sekundę przestępną, której wartości są publikowane wraz z czasem na podstawie pomiarów ruchu