From: "Skye Shaw!@#$" Date: 2011-01-04T17:00:23+09:00 Subject: Re: Time + time.local On Jan 3, 10:45 pm, d c wrote: > Hi - > > I cant seem to get localtime to work, can anyone share some gotchas? > > ## check environment is setup > > [dc@fox:~]$ echo $TZ > Japan/Tokyo > > [dc@fox:~]$ irb > irb(main):001:0> ENV['TZ'] > => "Japan/Tokyo" > > # so the env is coming through ok... or is it? > > irb(main):021:0> u=Time.now.utc > => Tue Jan 04 06:21:25 UTC 2011 Unless you've `zic`ed otherwise, you'll need to use the right zone name. Else Ruby will fall back to UTC. [sshaw@localhost trunk]$ TZ="Galaxy/Andromeda" ruby -e'p Time.now.localtime' Tue Jan 04 07:48:42 +0000 2011 [sshaw@localhost trunk]$ TZ="Galaxy/Andromeda" ruby -e'p Time.now.localtime.zone' "Galaxy/Andromeda" [sshaw@localhost trunk]$ grep -i galaxy /usr/share/zoneinfo/zone.tab [sshaw@localhost trunk]$ grep -i 'japan\|tokyo' /usr/share/zoneinfo/ zone.tab JP +353916+1394441 Asia/Tokyo [sshaw@localhost trunk]$ TZ="Asia/Tokyo" ruby -e'p Time.now.localtime' Tue Jan 04 16:45:55 +0900 2011 [sshaw@localhost trunk]$ strings /usr/share/zoneinfo/Japan | grep -i jst JST-9 [sshaw@localhost trunk]$ TZ="JST-9" ruby -e'p Time.now.localtime' Tue Jan 04 16:53:04 +0900 2011 -Skye