2台のマシンで異なるエポックタイム:どこに正しく構成するか


1

私はPerlスクリプトを実行してデータベースにアクセスする必要がある2つのLinuxマシンを持っています。 によって報告された日付 date そして date -u (数分以内に)正しいですが、Perlからエポックを返すことには1時間の違いがあり、一方のマシンではUTCのエポックタイムスタンプを持ち、もう一方では必要なCETを持ちます。

Aの日付:

Tue Dec 11 13:34:09 CET 2012

Bの日付:

Tue Dec 11 13:33:20 CET 2012

このスクリプトはTime :: HiResを使用してlocaltime->エポックを収集して日付を生成します。 動作を出力するための最小限の次のスクリプトを作成します。

#/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 それ自体が正しい時刻を出力します。


BIOSで時間を調整するだけではどうですか?これは「タイムゾーン」の問題ではありません。これは、1分11秒しか違いがないことからも明らかです。
Ramhound

申し訳ありませんが、質問を注意深く読んでいないか、明確にしていないかのどちらかです。エポックタイムスタンプを見てください - >これらは1時間で異なるものですが、どのマシンにもタイムゾーンオフセットは設定されていません。
Stefan

私は質問を読み、時間は1分11秒違います。 CET。 perlスクリプトの出力に基づいて、設定に違いがあると思います。
Ramhound

dateの出力は分だけで変わるかもしれません、そして、これは大丈夫です。しかし、perlスクリプトの出力は1時間以上異なります。これは設定の違いかもしれません - どこに問題があるのか​​わからないのですが:-(。 'locale'は両方の機種で同じです。
Stefan

する date -u (数分以内に)両方のマシンで正しい値を返しますか?
David Schwartz
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.