Eu tenho duas máquinas Linux que precisam executar um script Perl e acessar um banco de dados.
A data (conforme relatada pelos comandos date
e date -u
) está correta (em alguns minutos), mas a época de retorno do Perl tem uma diferença de 1 hora, resultando em ter em uma máquina UTC epoch-timestamp e, por outro o CET desejado.
data em A:
Tue Dec 11 13:34:09 CET 2012
data em B:
Tue Dec 11 13:33:20 CET 2012
O script usa Time :: HiRes e coleta o horário local > para gerar uma data. Eu construo um script de acompanhamento minimalista para produzir o comportamento:
#/usr/bin/perl
#
use Time::HiRes qw(time);
use Time::Piece;
#
my $date = Time::Piece->strptime(localtime->epoch,"%s");
print "$date->datetime"."\n";
print $date->tzoffset."\n";
print $date->epoch."\n";
Máquina de saída A:
Tue Dec 11 12:35:43 2012->datetime
0
1355229343
Máquina de saída B:
Tue Dec 11 13:34:25 2012->datetime
0
1355232865
Então, como você vê, algo deve estar errado, provavelmente com fuso horário ou algo similar. Mas eu não sei onde procurar e o que configurar como o date
emite o tempo correto.