如何根据核心位置坐标获取当地时区?

时间:2010-12-06 22:14:52

标签: objective-c cocoa-touch gps core-location

是否可以在cocoa touch中根据gps的坐标获取设备的本地时区?去年我看到了这个问题,但没有答案......

我真正想要的是与GMT的小时数差异,我不想查询网络服务。

或者,我可以询问设备设置的时区吗?

可以吗?

2 个答案:

答案 0 :(得分:23)

使用[NSTimeZone localTimeZone];

修改:返回的对象有一个-(NSInteger)secondsFromGMT方法,可以用来计算与GMT的差异。

答案 1 :(得分:2)

除非日期实际包含在输入中,否则实际上是不可能的。为什么?因为偏移量随时间变化。最常见的是,在北美和欧洲的夏季时间可以转换为夏令时。各个位置在不同时间进行切换。此外,用于确定何时使开关随时间变化的公式。例如,几年前在美国,夏令时延长了。那么你有像危地马拉这样的地方有时会尝试夏令时,然后决定明年不要这样做。

底线,GPS坐标和时区之间没有一对一的关系。但是,坐标+日期和时区之间存在一对一的关系。但这是一个不断变化的目标。