ruby输出的时区字符串的表现形式取决于您所安装的OS。有的OS甚至会返回下面这样的字符串。
$ ruby -e 'p Time.now' Mon Sep 04 17:32:11 东京 (标准时) 2000
还有好多OS会返回当前时区, 此时Time.gmtime等也是鞭长莫及。
puts Time.now.gmtime.strftime("%H:%M %Z") #-> 06:09 GMT+9:00
另外,ruby本身可以输出系统无关的"UTC", 这使问题变得更加复杂了。
$ ruby -e 'p Time.now.gmtime.zone' "GMT" $ ruby -e 'p Time.now.gmtime' Tue Jan 16 17:09:22 UTC 2001
下列方法会受到这些问题的影响。