Dlaczego wszystko się liczy od roku 1970?

3

Rozejrzałem się więc i naprawdę nie mogłem znaleźć na to odpowiedzi.

Mam iPhone'a (jailbroke) i zauważam, że w kilku ustawieniach zwykle w plikach .plist jest ciąg znaków, które mówią coś podobnego do „TimeIntervalSince1970”. Teraz wiem, że wszystkie zegary takie jak te wymagają daty bazowej i godziny na początek.

Ale moje prawdziwe pytanie brzmi: dlaczego 1970?

Obliczony
źródło

Odpowiedzi:

9

Nie wszystko się liczy od 1970 roku. Jest to standardowy czas Uniksa.

Czas uniksowy lub czas POSIX to system do opisywania punktów w czasie, zdefiniowany jako liczba sekund, które upłynęły od północno-uniwersalnego skoordynowanego czasu uniwersalnego (UTC) z 1 stycznia 1970 r., Nie licząc sekund przestępnych.

Czas uniksowy

Wczesne wersje systemu uniksowego mierzyły czas systemowy w odstępach 1/60 s. Oznaczało to, że 32-bitowa liczba całkowita bez znaku może reprezentować jedynie okres czasu krótszy niż 829 dni. Z tego powodu czas reprezentowany przez liczbę 0 (zwaną epoką) musiał zostać ustawiony w najnowszej przeszłości. Ponieważ było to na początku lat siedemdziesiątych, epoka została ustalona na lata 1971-1-1.

Później czas systemowy został zmieniony na przyrost co sekundę, co wydłużyło okres czasu, który może być reprezentowany przez 32-bitową liczbę całkowitą bez znaku do około 136 lat. Ponieważ wyciskanie co sekundę z lady nie było już tak ważne, epoka została zaokrąglona w dół do najbliższej dekady, zmieniając się w 1970-1-1. Należy założyć, że uznano to za nieco starsze niż 1971-1-1.

Zauważ, że 32-bitowa liczba całkowita ze znakiem 1970-1-1, ponieważ jej epoka może reprezentować daty do 2038-1-19, w którym to dniu zawinie się do 1901-12-13.

Dlaczego 1/1/1970 to „epoka”?

tron_jones
źródło
Dlatego w dniu 19.01.2038 pojawi się tak zwane „Y2K38”.
RedEagle2000
1
W dziale „nie wszystko używa 1970” klasa NSDate Objective-C dla OS X i iOS używa 1/1/2001.
Andrew Medico,
0

Unix timestamp rozpoczyna się 1 stycznia 1970 roku i liczy się od. Czas pod względem dni / miesięcy / lat / itp. Oblicza się na podstawie tej liczby, uwzględniając strefy czasowe i inne różnice regionalne.

grg
źródło
Oto ładne wyjaśnienie: stackoverflow.com/questions/1090869/...
Mateusz Szlosek