如何将系统时区作为字符串返回?

tom*_*rts 2 objective-c

我有一个应用程序,我为全球各个城市设置时区.我这样做没有问题,效果很好.当应用程序首次加载时,它会找到您当前的位置(lat和long)并使用设备默认时区设置时区.我需要在字符串中返回默认时区,因此我可以显示它.我不想要"GMT"或"EDT",我希望它的格式为"America/New_York"或"Europe/London".有什么想法吗?

Fir*_*eer 14

听起来你想要这个:

NSString *timeZoneName = [[NSTimeZone localTimeZone] name];

这将在美国东部时区返回"America/New_York".

或任何NSTimeZone *tz你可以得到它[tz name],这是你正在寻找的传统名称(例如"亚洲/东京"或"欧洲/伦敦").

查看+[NSTimeZone knownTimeZoneName]可能的名称列表.

我希望有所帮助.