我想显示时区缩写。但是我的 Ruby 一直给我完整的形式。
irb(main):001:0> Time.now
=> 2014-02-28 15:11:21 +0530
irb(main):002:0> Time.now.zone
=> "India Standard Time"
irb(main):003:0>
这是在Ruby 1.9.3p125中。在 Ruby 2.0 中也尝试过,结果相同!即使strftime("%Z")
也给出了时区的完整形式,而不是缩写。
但文档明确指出,只应返回缩写。我实际上是在Windows 7
上构建一个rhodes
应用程序
编辑:Time.now.strftime("%Z")
也给出了完整的形式。
这是Windows的coz吗?
这个问题似乎确实是特定于 Windows 的,因为我能够自己重现它。即使在文档中,它也指出: Also, %Z is highly dependent on the operating system. For example, it may generate a non ASCII string on Japanese Windows. i.e. the result can be different to “JST”.
我环顾四周,似乎找不到任何简单的解决方案,因为它非常依赖于操作系统。