I have problem with unix timestamp ( date +%s ). This command gives me a GMT time, however I am using CET, so the unix timestamp is in 1 hour late (and my rrdtool database too!). How I can change unix timestamp's to CET or add +1 hour?

With command "date" I get good time. Update:

@ubuntu:~/tmp$ date +%s%Z
@ubuntu:~/tmp$ cat /etc/timezone
@ubuntu:~/tmp$ date
Tue Jan 25 01:30:28 CET 2011
@ubuntu:~/tmp$ date +%s
@ubuntu:~/tmp$ in normal time: Tue, 25 Jan 2011 00:30:13 GMT


In online converters I can set the timezone, so maybe the numbers are equal for all timezone? Then the question is that, why rrdtools late a hour?

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

As we can see the timestamp is correct, only rrdtool is wrong. But why?

  • We don't delete questions that could be of benefit to someone else later. Please roll back your edit. Especially so people can see what the actual solution is. – Dennis Williamson Jan 25 '11 at 1:21

That's odd. On my Ubuntu Linux system I get unix time in CET when I enter date +%s.

Could you show us the output of date +%s%Z? And could you cat /etc/timezone?

  • 1
    That's odd, date %s shows me a number of seconds without a time zone. – Dennis Williamson Jan 25 '11 at 0:28
  • I updated my question. – user66638 Jan 25 '11 at 0:35

That's what %s is supposed to do. From man date:

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

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.