Ruby只能显示当地时间和格林威治标准时间(UTC),但不能显示东海岸时间或中部时间?

Ruby只能显示当地时间和格林威治标准时间(UTC),但不能显示东海岸时间或中部时间?,ruby,timezone,Ruby,Timezone,但是我没有看到任何方法来显示东海岸或中部/山区的时间,或者将区域改为GMT以外的时间?似乎没有办法告诉strftime()在显示时间时使用特定的时区。查看gem。查看gem。看起来ActiveSupport也有它:但问题是,如果可以知道如何将本地时间转换为GMT,那么也应该可以将GMT转换回本地时间。这意味着,如果“本地”是不同的时区,它应该知道如何将GMT转换为“本地”时间。也许Ruby现在很苗条,它做不到。。。但是如果我不得不说,“Ruby是一种非常强大的语言”,然后有人问我,好吧,让我们让

但是我没有看到任何方法来显示东海岸或中部/山区的时间,或者将区域改为GMT以外的时间?似乎没有办法告诉strftime()在显示时间时使用特定的时区。

查看gem。

查看gem。

看起来ActiveSupport也有它:但问题是,如果可以知道如何将本地时间转换为GMT,那么也应该可以将GMT转换回本地时间。这意味着,如果“本地”是不同的时区,它应该知道如何将GMT转换为“本地”时间。也许Ruby现在很苗条,它做不到。。。但是如果我不得不说,“Ruby是一种非常强大的语言”,然后有人问我,好吧,让我们让它打印东海岸时间或西海岸时间,我必须回答,“它本身不容易做到”。让我们直说,你是根据它处理时区的能力来判断语言的吗?我们生活在现实世界中,有距离,有三维空间,有时间,这是另一个空间。因此,如果Ruby可以做加法,将公里转换为英里,但它不能将西海岸时间转换为东海岸时间,那么它就有点不足。看起来ActiveSupport也有它:但问题是,如果能够知道如何将本地时间转换为GMT,那么也应该能够将GMT转换回本地时间。这意味着,如果“本地”是不同的时区,它应该知道如何将GMT转换为“本地”时间。也许Ruby现在很苗条,它做不到。。。但是如果我不得不说,“Ruby是一种非常强大的语言”,然后有人问我,好吧,让我们让它打印东海岸时间或西海岸时间,我必须回答,“它本身不容易做到”。让我们直说,你是根据它处理时区的能力来判断语言的吗?我们生活在现实世界中,有距离,有三维空间,有时间,这是另一个空间。所以,如果Ruby可以做加法,将公里转换成英里,但不能将西海岸时间转换成东海岸时间,那么它就有点欠缺了。
$ 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"