Ios 如何从地理位置获取UTC世界时?
它看起来像Ios 如何从地理位置获取UTC世界时?,ios,nsdate,core-location,cllocationmanager,utc,Ios,Nsdate,Core Location,Cllocationmanager,Utc,它看起来像CLLocation的timestamp属性获取设备的当前日期和时间。。。我有以下代码片段: - (void)locationManager:(CLLocationManager *)manager didUpdateLocations:(NSArray *)locations { CLLocation *newLocation = [locations lastObject]; NSDate *eventDate = newLocation.timestamp;
CLLocation
的timestamp
属性获取设备的当前日期和时间。。。我有以下代码片段:
- (void)locationManager:(CLLocationManager *)manager didUpdateLocations:(NSArray *)locations
{
CLLocation *newLocation = [locations lastObject];
NSDate *eventDate = newLocation.timestamp;
long long locTimestamp = [date timeIntervalSince1970] * 1000;
NSLog(@"Loc timestamp: %lld:", locTimestamp);
}
在我写这篇文章的时候,如果我在Xcode的调试区域控制台中打印eventDate
的描述,我会得到:
打印eventDate的说明:
2015-08-26 15:14:09+0000
如果我更改了设备设置中的日期,我会在evenDate
中得到错误的日期:
打印eventDate的说明:
2015-07-25 15:16:33+0000
可能我误解了timestamp
属性中返回的NSDate
。。。它真的需要您在设备中设置的日期和时间,或者只是提供这些设备设置的格式
关键是,我需要获取位置的UTC时间以向服务器报告,并在不同设备之间进行一些比较,如果用户更改其设备的日期和时间设置,并且我的应用程序发送错误或“假”时间戳,我的应用程序将无法正常运行
在Android应用程序中,似乎可以从GPS获取NMEA数据,然后获取位置的通用时间,但我在iOS中找不到。有可能在iOS中获得它吗
我需要有关此问题的帮助,请提前感谢您可以通过
NSCalendar
和NSDateFormatter
和NSLocale
类将时间戳转换为您想要的任何日历或时区 谢谢。这将获得UTC等效的NSDate
或我拥有的时间戳。。。关键是,我需要的是“真实”UTC时间,而不是与CLLocation
对象中给定的时间相等的UTC时间,它似乎是从设备而不是GPS数据中获取的。。。不是吗?这些是唯一可用的工具,不幸的是,它们受制于用户可以操纵的系统时间。仍然没有答案吗?