1

У меня есть 2 Linux-машины, которые должны запустить Perl-скрипт и получить доступ к базе данных. Дата (как сообщается командами date и date -u ) является правильной (в течение пары минут), но при возврате эпохи из Perl разница в 1 час приводит к тому, что на одной машине UTC epoch-timestamp, а на другой - требуемая CET.

дата на А:

Tue Dec 11 13:34:09 CET 2012

дата на B:

Tue Dec 11 13:33:20 CET 2012

Скрипт использует Time::HiRes и собирает localtime-> epoch для генерации даты. Я строю минималистичный следующий скрипт для вывода поведения:

#/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";

Выходная машина A:

Tue Dec 11 12:35:43 2012->datetime 
0 
1355229343

Выходная машина B:

Tue Dec 11 13:34:25 2012->datetime 
0 
1355232865

Итак, как вы видите, что-то должно быть не так, вероятно, с часовым поясом или что-то подобное. Но я не знаю, где искать и что настраивать, поскольку сама date выводит правильное время.

0