Set time zone offset in Ruby

Set the TZ environment variable…

$ ruby -e 'puts Time.now'
Sat Jan 15 20:49:10 -0800 2011
$ TZ=UTC ruby -e 'puts Time.now'
Sun Jan 16 04:49:20 +0000 2011

Ruby gets the time zone information from the host’s operating system.

Most directly, it uses a C library API specified by C99 and Posix.

The implementation of that API is system-specific, on my Mac that means it consults /etc/localtime unless there is a TZ environment variable.

It’s about the same on Linux.

Leave a Comment