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