niedziela, 8 lutego 2009

Za tydzień mamy okrągły czas

Autor: panjandrum, 10:05, niedziela, 8 lutego 2009

Kategoria: ,

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


Oceń artykuł:
Komentarze 0 comments