两台机器上的纪元时间不同:在哪里正确配置?

两台机器上的纪元时间不同:在哪里正确配置?

我有两台 Linux 机器需要运行 Perl 脚本并访问数据库。日期(由datedate -u命令报告)是正确的(在几分钟内),但从 Perl 返回的纪元有 1 小时的差异,导致一台机器上有 UTC 纪元时间戳,而另一台机器上有想要的 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它本身输出了正确的时间。

相关内容