【问题标题】:Getting city and country from NSTimeZone从 NSTimeZone 获取城市和国家
【发布时间】:2009-12-02 16:22:14
【问题描述】:

我想(至少)获得时区的国家名称。任何潜在方法都没有提供此功能:

  • 姓名,
  • localizedName:locale:,
  • 说明

我注意到内置的 iPhone 时钟应用程序可以访问此信息,因为它将伦敦描述为“英国伦敦”。

谢谢。

【问题讨论】:

  • 如果你弄明白了,请告诉我们你是如何做到的。我也对如何做到这一点感兴趣。
  • 何奔,我没再多说。不过,有一些城市数据库可能对执行这种查找很有用。看看:answers.google.com/answers/threadview?id=714539geobytes.com/GeoWorldMap.zipgeolite.maxmind.com/download/worldcities 开始吧。
  • 你在这方面有什么收获吗?我被困在同一件事上。
  • System Preferences > Date & Time > Time Zone 在 OS X 上显示了类似的信息,并且那里的地图归功于 Geonames.org。也许值得深入了解 OS X 正在做什么?

标签: iphone nstimezone


【解决方案1】:

我确信它与内置时钟的工作方式不同。有一个城市数据库,每个城市都有一个国家和时区。 你对[myGMT city] 有什么期望?都柏林还是卡萨布兰卡?

【讨论】:

  • 你知道这个数据库被暴露了,还是你认为它是时钟应用程序中的自定义代码? NSTimeZone 实例不仅仅代表 GMT 偏移量(正如我认为您在最后一句话中暗示的那样,但我不确定),它们代表(如文档中所述)“地缘政治区域”,并且尽我所能看,总是植根于特定的城市。显示这个城市所在的国家是很合理的,就像时钟应用程序一样。谢谢。
【解决方案2】:

根据timeZoneWithName:data:方法的描述,文件系统的时区信息位于/usr/share/zoneinfo

我不知道文件的格式是什么,或者您是否可以从应用程序沙箱中读取它们,但这可能是时钟应用程序获取信息的方式。

【讨论】:

  • 谢谢 - 该路径的信息与 TZ 数据库或 Zoneinfo 数据库有关。这是一个标准的开放数据文件,用于表示许多架构使用的时区信息——维基百科上有很多信息:en.wikipedia.org/wiki/Zoneinfo。但是,zoneinfo 文件没有提供城市所在的国家/地区,所以我认为时钟不会使用它。
猜你喜欢
  • 2016-07-16
  • 2013-01-12
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2013-11-13
  • 1970-01-01
  • 2012-11-18
  • 2016-12-17
相关资源
最近更新 更多