【发布时间】:2013-12-06 12:46:12
【问题描述】:
在我的 IOS 应用程序中,我有一个类似“America/Los_Angeles”的时区 ID,我想获得它的缩写“PST”。
我写了以下代码:
NSTimeZone* theTimezone = [NSTimeZone timeZoneWithName:_timezone];
_timezoneAbbreviation = theTimezone.abbreviation;
我的问题是_timezoneAbbreviation 总是返回一个类似“UTC-x”或“UTC+x”的字符串,而不是适当的缩写。
如果我正在查看 [NSTimeZone abbreviations] 返回的 NSDictionary,它包含正确的缩写(例如 PST 表示“America/Los_Angeles”)。
有什么想法吗?
塞巴斯蒂安。
【问题讨论】:
-
注意时区缩写。在夏天,您可能需要 PDT 而不是 PST 用于同一
America/Los_Angeles区域。对于像CST这样的缩写,还有many ambiguities。 -
应该由 NSTimeZone 管理 -> Extract from Apple Doc "请注意,不同日期的缩写可能不同。例如,在夏令时,美国/东部时区的缩写为“美东时间。”在其他时候,它的缩写是“EST”。”
-
当然可以,但是您需要以某种方式指明日期以用作做出该决定的依据。您可以在某个特定时间(例如现在或上个月等)要求时区缩写,但我看不出它如何正确猜测。
标签: ios cocoa-touch timezone