代码之家  ›  专栏  ›  技术社区  ›  user278859

iPhone的时区列表的日期和时间在哪里

  •  4
  • user278859  · 技术社区  · 16 年前

    我可以得到一个时区列表 [NSTimeZone knownTimeZoneNames] ,但这只给出时区ID,每个时区包含一个或两个城市。

    日期和时间设置有一个很好的城市列表,我还看到其他一些应用程序也有相同的,如果不是相似的查找列表。

    这些清单是从哪里来的?

    我确实需要将所选城市与其时区关联起来,就像日期和时间一样。

    3 回复  |  直到 8 年前
        1
  •  7
  •   kennytm    16 年前

    只有2?3.1上 [NSTimeZone knownTimeZoneNames] 返回401个元素的数组,地球上的时区远少于200个。

    我很肯定“其他应用”会用到 +knownTimeZoneNames 另外,因为这是唯一返回此类列表的公共方法。不过,请确保您的代码是正确的。


    settings.app使用 私有的 CPCity 来自API 私有的 应用程序支持.framework。它确实有旧金山,但它是私人的。

    您需要创建自己的数据库(数据可以从 /System/Library/PrivateFrameworks/AppSupport.framework/all_cities_adj.plist )

        2
  •  2
  •   Massimo Cafaro    16 年前

    您所要求的通常称为olson数据库。例如,请参见 this Wikipedia page . 公共领域 Zone.tab 文件包含所有时区。您可以在 libical 分布。

        3
  •  1
  •   Gligor    8 年前

    我知道这可能是一个迟来的答案,但只是为了以防万一有人像我前几天那样偶然发现了它。我刚刚打开了一个图书馆,它正是这样做的。它可以作为可可脂提供,您可以在这里找到它:

    https://github.com/gligorkot/TimeZonePicker

    此外,感谢以上所有回复,他们帮助我找到了用于设置应用程序的正确城市数据库。