时区ID到短时区(pst,pdt,cst等)

时间:2016-07-07 20:30:56

标签: ruby-on-rails ruby datetime google-maps-api-3 timezone

我使用Googles Timezone API获取TimeZoneID,然后将其传递给ruby gem TZInfo以获取当地时间。如何从此信息中获取时区的简称(PST,PDT,EST等)。我尝试strftime(%Z),但返回'UTC'。这是一个ruby on rails app。

1 个答案:

答案 0 :(得分:1)

TZInfo::Timezone#strftime应该有效:

require "tzinfo"

tz = TZInfo::Timezone.get("America/New_York")
puts tz.strftime("%Z")

如果你尝试了它并且它不起作用,那就太神秘了。

或者,您可以使用TZInfo::TimezonePeriod#abbreviation

tz = TZInfo::Timezone.get('America/New_York')
period = tz.period_for_utc(Time.now.utc)
puts period.abbreviation