使用rrdtools的unix时间戳错误时间

使用rrdtools的unix时间戳错误时间

我对 unix 时间戳 ( date +%s ) 有疑问。此命令为我提供了 GMT 时间,但我使用的是 CET,因此 unix 时间戳晚了 1 小时(我的 rrdtool 数据库也是如此!)。我如何将 unix 时间戳更改为 CET 或添加 +1 小时?

使用命令“date”我得到了美好的时光。更新:

@ubuntu:~/tmp$ date +%s%Z
1295915413CET
@ubuntu:~/tmp$ cat /etc/timezone
Europe/Bratislava
@ubuntu:~/tmp$ date
Tue Jan 25 01:30:28 CET 2011
@ubuntu:~/tmp$ date +%s
1295915459
@ubuntu:~/tmp$ 正常时间:Tue, 25 Jan 2011 00:30:13 GMT

更新2:

在在线转换器中,我可以设置时区,所以也许所有时区的数字都相同?那么问题是,为什么 rrdtools 晚了一个小时?

@ubuntu:~/tmp$ date -d @1295916112 2011 年 1 月 25 日星期二 01:41:52 CET

我们可以看到时间戳是正确的,只有 rrdtool 是错误的。但是为什么呢?

答案1

这很奇怪。在我的 Ubuntu Linux 系统上,当我输入 时,我得到的是 CET 中的 unix 时间date +%s

你能给我们展示一下 ? 的输出吗date +%s%Z?你能吗cat /etc/timezone

答案2

这就是%s应该做的事。来自man date

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

相关内容