2

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

另一方面,如果设备是 iPod Touch,则 localTimeZone 和 systemTimeZone 返回的时区似乎总是在日期和时间设置中设置的任何时区,而不管用户的实际位置如何。我尝试使用位置服务,但是,虽然正确提供了纬度/经度,但我得到的 TimesStamp 中的时区偏移量始终与用户为其时区设置设置的任何值相同。

有什么建议么?

约翰

4

2 回答 2

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

于 2011-02-05T01:39:11.950 回答
1

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

于 2011-02-05T01:27:56.470 回答