web-dev-qa-db-ja.com

rrdtoolsでUNIXタイムスタンプの間違った時刻

UNIXタイムスタンプ(日付+%s)に問題があります。このコマンドはGMT時刻を表示しますが、CETを使用しているため、UNIXタイムスタンプは1時間遅れています(そして私のrrdtoolデータベースも!)。 UNIXタイムスタンプをCETに変更したり、+ 1時間を追加したりするにはどうすればよいですか?

コマンド「date」で楽しい時間を過ごすことができます。更新:

@ubuntu:〜/ tmp $日付+%s%Z
1295915413CET
@ ubuntu:〜/ tmp $ cat/etc/timezone
ヨーロッパ/ブラチスラバ
@ ubuntu:〜/ tmp $日付
2011年1月25日火曜日01:30:28CET
@ ubuntu:〜/ tmp $ date +%s
1295915459
@ ubuntu:〜/ tmp $通常時:2011年1月25日火曜日00:30:13 GMT

Update2:

オンラインコンバーターではタイムゾーンを設定できるので、おそらくすべてのタイムゾーンで数値が同じですか?次に、問題は、なぜrrdtoolsが1時間遅くなるのかということです。

@ubuntu:〜/ tmp $ date -d @ 1295916112 Tue Jan 25 01:41:52 CET 2011

タイムスタンプが正しいことがわかるので、rrdtoolだけが間違っています。しかし、なぜ?

1
user66638

それは変です。私のUbuntuLinuxシステムでは、date +%sと入力すると、CETでUNIX時間が取得されます。

date +%s%Zの出力を教えてください。そして、あなたはcat /etc/timezoneできますか?

0
Martijn Heemels

それが%sが行うことになっていることです。 man dateから:

%s     seconds since 1970-01-01 00:00:00 UTC