shell-script-pt
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re:[shell-script] Converter Unix Time Stamp


From: MrBiTs
Subject: Re:[shell-script] Converter Unix Time Stamp
Date: Wed, 16 Feb 2005 06:05:52 -0300

> Gostaria de saber se alguém aqui tem alguma solução para converter 
> o famoso unix time stamp para o fomato de data utilizado pelos 
> seres humanos. Ou se > existe algum comando no Unix ou Linux que 
> faça essa tarefa.

Os mais simples que encontrei sao, tomando-se como unix timestamp o valor 
54762000, data importantíssima para a humanidade:

$ perl -e "print scalar localtime(54762000);"
Sun Sep 26 16:40:00 1971

Ou, em awk

$ echo "54762000" | awk '{print strftime("%c",$1),substr($0, 14)}'
Sun Sep 26 16:40:00 1971

Agora, MUITA ATENCAO

A definicao de Unix Timestamp é o número de segundos passados desde as 0 hora 
do dia 1o de Janeiro de 1970, UTC. Entao, um comando $ perl -e "print scalar 
localtime(0);" DEVERIA devolver-me Thu Jan  1 00:00:00 1970. Mas isso nao 
acontece. Veja:

$ perl -e "print scalar localtime(0);"
Wed Dec 31 21:00:00 1969

Isso acontece pq Unix Timestamp baseia-se na hora local, ou no seu timezone. 
Como estamos 3 horas atrasados em relacao ao UTC ( hora do meridiano de 
greenwich ) isso acontece.

Se vc colocar

$ TZ=UTC perl -e "print scalar localtime(0);"

Vai ter o resultado esperado. 




reply via email to

[Prev in Thread] Current Thread [Next in Thread]