获取iPhone与iPod Touch时区的最佳做法

时间:2010-04-10 07:47:13

标签: iphone xcode timezone cllocation

我正在创建一个需要用户当前时区的应用。如果正在使用的设备是iPhone并且用户将其时区设置为自动更改,我认为我可以相当确信localTimeZone或systemTimezone将为我提供用户所在位置的正确时区。

另一方面,如果设备是iPod Touch,则localTimeZone和systemTimeZone返回的时区似乎始终是日期和时间区域中设置的任何时区。时间设置,无论用户的实际位置如何。我尝试使用位置服务但是,虽然正确提供了lat / long,但我得到的timesStamp中的时区偏移量始终与用户为其时区设置设置的内容相同。

有什么建议吗?

约翰

2 个答案:

答案 0 :(得分:5)

您可以使用locaTimeZone

中的NSTimeZone方法
NSTimeZone *timeZone = [NSTimeZone localTimeZone];

这是我们收藏水果公司的一个例子 - > http://developer.apple.com/library/mac/#samplecode/PhotoSearch/Listings/DateCell_m.html%23//apple_ref/doc/uid/DTS10003994-DateCell_m-DontLinkElementID_7

答案 1 :(得分:1)

除非你自己动手。您唯一真正的选择是使用CoreLocation来确定您所在的世界,通过名称找出您所在的时区名称,然后根据该名称查找NSTimeZone ....但我不知道甚至认为CoreLocation可以在iPod Touch上使用(我可能错了)。