【问题标题】:iOS Calendar App Time Zone ListiOS 日历应用时区列表
【发布时间】:2018-01-23 13:21:32
【问题描述】:

正如您在下面的屏幕中所见,iOS 日历应用程序以City, Country 格式显示可用时区列表。

我想获得相同的列表。我在哪里可以得到这份清单?

【问题讨论】:

  • 你试过这个NSTimeZone.knownTimeZoneNames() 吗?
  • 是的,我有。它不显示为与上述相同的格式。
  • @HamDongKyun - 看看右边的一些“相关”链接......已经有几个人在问/讨论你的问题。
  • @Martijn Pieters 请问您为什么删除了我的答案?
  • 抱歉,看起来不够好。为这个问题找到了一个类似的帖子。 stackoverflow.com/questions/14456645/…

标签: ios swift3 timezone


【解决方案1】:

TimeZone 有一个静态函数knownTimeZoneIdentifiers,它返回一个字符串标识符数组。 Documentation

【讨论】:

  • 我知道该文档,但它不像 iOS 日历应用程序那样显示为时区
【解决方案2】:

您无法获得“City, County”格式,但您可以使用这段代码获得“City, Continent”格式:

let timeZones = TimeZone.knownTimeZoneIdentifiers.flatMap{ id->String? in
    let components = id.components(separatedBy: "/")
    guard components.count == 2, let continent = components.first, let city = components.last else {return nil}
    return "\(city), \(continent)"
}

输出将是:

“非洲阿比让”、“非洲阿克拉”、“非洲亚的斯亚贝巴”、“非洲阿尔及尔”、“非洲阿斯马拉”、“非洲巴马科”、“非洲班吉”、“非洲班珠尔” ...

【讨论】:

  • 所以基本上,你的答案是我无法获得 iOS 日历应用程序提供的功能,对吧?
  • 是的,这是你唯一能得到的东西。
  • 那么 iOS 日历应用程序如何在所有语言环境中获取该列表?它是否有一个未向基础 API 开放的单独数据存储?
  • 是的,很可能它正在使用私有 API。
猜你喜欢
  • 2013-06-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-12-13
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多