有没有办法将诸如"America/Los_Angeles"之类的时区转换为ruby中的时区缩写"PDT"?
缩写通常与上下文相关,因此"PDT"仅适用于夏令时运行时的。
根据文档判断,如果用strftime
格式化Time
,并使用%Z
的格式字符串,则应该得到时区缩写。
就我个人而言,我不喜欢使用缩写,因为它们含糊不清,会引起很多混乱。(例如,我看到人们全年都在使用"太平洋标准时间",例如"2012年7月20日太平洋标准时间9:00"-一个毫无意义的日期/时间。)但这是另一回事:)
更明确的答案:
Time.now.in_time_zone("America/Los_Angeles").strftime('%Z')