首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >NSTimezone从timezoneId获得缩写

NSTimezone从timezoneId获得缩写
EN

Stack Overflow用户
提问于 2013-11-21 20:32:26
回答 2查看 1.7K关注 0票数 3

在我的IOS应用程序中,我有一个类似于“America/洛杉矶”的timezoneid,我想得到它的缩写"PST“。

我编写了以下代码:

代码语言:javascript
运行
复制
NSTimeZone* theTimezone = [NSTimeZone timeZoneWithName:_timezone];
    _timezoneAbbreviation = theTimezone.abbreviation;

我的问题是_timezoneAbbreviation总是返回一个字符串,比如"UTC+x“或”UTC+x“,而不是相应的缩写。

如果我在查看由NSDictionary返回的[NSTimeZone abbreviations],它包含正确的缩写(例如,PST表示“America/洛杉矶”)。

有什么想法吗?

塞巴斯蒂安。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2013-11-21 20:49:36

abbreviation方法的结果似乎与区域设置有关。如果我将区域格式设置为"United States",那么您的代码实际上返回"PST“。如果我将区域格式设置为“德国/德国”,它将返回"GMT-8“(在iOS模拟器上测试)。

代码语言:javascript
运行
复制
[theTimezone localizedName:NSTimeZoneNameStyleShortStandard
                    locale:[NSLocale localeWithLocaleIdentifier:@"en_US"]]

提供"PST",独立于区域格式。

(我知道这只是部分的解决办法。它只返回美国时区所需的结果。但也许它为解决问题指明了正确的方向。)

票数 8
EN

Stack Overflow用户

发布于 2013-11-21 20:37:58

直接使用字典。或者创建你自己的字典,这样你就可以完全控制它。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/20131287

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档