Okrągły czas, a nie datę. 13 lutego 2009 (w piątek - przyp. red.) o godzinie 23:31 i pół UTC, a zatem u nas w pół do pierwszej w sobotę, przypada 1234567890 sekunda czasu systemu UNIX. Czas UNIX liczymy od północy 1 stycznia 1970 roku i wyrażamy w liczbie sekund, które upłynęły od tego czasu. Każdy uniksowy dzień to 86400 sekund tak jak ma to miejsce w przypadku TAI.
Z drugiej jednak strony czas uniksowy uwzględnia sekundy przestępne, tak jak czyni to UTC. Sprawia to, że przy stałej długości dnia jedna sekunda uniksowa znika lub trwa dwie sekundy rzeczywiste.
Z kronikarskiego obowiązku należy wspomnieć, że "początek czasu" uniksowego był przesuwany kilkakrotnie bowiem wczesne wersje systemu zliczały 1/60 sekundy co sprawiało, że trzydziestodwubitowy bitowy licznik starczał tylko na dwa i pół roku. Obecnie obowiązujący standard POSIX.1 został przyjęty w 2001.
Źródło:
Zmianę zapisu "sekundowego" na bardziej czytelną postać można uzyskać poniższymi poleceniami:
date -d @1234567890
perl -e 'print scalar localtime(1234567890),"\n";'
Tak oto 2000000000 sekundę będziemy mieli w środę 18 maja w 2033 roku. Porównajcie 2147483647 i 2147483648 powyższym skryptem perla.
Odliczać czas można na tej stronie lub w konsoli:
watch -n 1 date +%s
niedziela, 8 lutego 2009
Prześlij komentarz