2010-09-08 57 views
1
$ irb 

ruby-1.9.2-p0 > RUBY_DESCRIPTION 
=> "ruby 1.9.2p0 (2010-08-18 revision 29036) [x86_64-darwin10.4.0]" 

ruby-1.9.2-p0 > Time.now 
=> 2010-09-07 18:18:38 -0700 

ruby-1.9.2-p0 > Time.now.gmtime 
=> 2010-09-08 01:18:43 UTC 

ruby-1.9.2-p0 > Time.now.strftime('%H:%M %Z') 
=> "18:22 PDT" 

ruby-1.9.2-p0 > Time.now.gmtime.strftime('%H:%M %Z') 
=> "01:22 UTC" 

但我没有看到任何方法显示东海岸或中央/山区时间的时间,或将区域更改为格林威治标准时间以外的区域?在显示时间时似乎没有办法告诉strftime()使用特定的时区。Ruby只能显示当地时间和格林尼治标准时间(UTC),但不显示东海岸时间或中央时间?

回答

1

退房tzinfo宝石。

+0

看起来像ActiveSupport也有它:http://api.rubyonrails.org/classes/ActiveSupport/TimeWithZone.html – 2010-09-08 04:50:02

+0

但事情是,如果有可能知道如何将本地时间转换为GMT,那么它应该可以将GMT转换回当地时间。这意味着,如果“本地”是一个不同的时区,它应该知道如何将GMT转换为“本地”时间。也许Ruby现在很苗条,它不会这么做......但是如果我必须说,“Ruby是一种非常强大的语言”,然后有人问我,好吧,让我们让它打印东海岸时间或西海岸时间,我必须回答,“它本身并不容易做到”。 – 2010-09-08 04:53:38

+0

让我们弄清楚这一点,你正在通过它处理_timezones_的能力来判断_language_吗? – 2010-09-08 07:21:00

相关问题