Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ios/100.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何在ios中获取GMT时间?_Ios_Objective C_Time_Gmt - Fatal编程技术网

如何在ios中获取GMT时间?

如何在ios中获取GMT时间?,ios,objective-c,time,gmt,Ios,Objective C,Time,Gmt,我知道这是一个重复的问题,但我并没有从这些答案中得到答案。请任何人告诉我,如果设备时间也错误,我如何在ios中获得GMT 提前感谢请尝试以下操作: NSDateFormatter *dateFormatter = [NSDateFormatter new]; dateFormatter.dateFormat = @"yyyy-MM-dd'T'HH:mm"; NSTimeZone *gmtZone = [NSTimeZone timeZoneWithAbbreviation:@"GMT"]; [d

我知道这是一个重复的问题,但我并没有从这些答案中得到答案。请任何人告诉我,如果设备时间也错误,我如何在ios中获得GMT

提前感谢

请尝试以下操作:

NSDateFormatter *dateFormatter = [NSDateFormatter new];
dateFormatter.dateFormat = @"yyyy-MM-dd'T'HH:mm";
NSTimeZone *gmtZone = [NSTimeZone timeZoneWithAbbreviation:@"GMT"];
[dateFormatter setTimeZone:gmtZone];
NSString *timeStamp = [dateFormatter stringFromDate:[NSDate date]];
NSLog(@"%@",timeStamp);

您必须依靠外部服务器来实现这一点。除了恢复本地电话时间的方法外,没有其他内置方法

下面是一个github项目,他们试图在iOS上做到这一点:

[NSDate date]以时间为单位返回时间GMT@George,如果我的设备晚了2个小时,那么我还是得到了正确的时间?@George我测试了上面的链接代码,但当我更改系统时间时,utc时间也会更改。@riyaz:如果设备时间错误(而不是时区),那么你就没有什么可以更改的了(除了联系NTP服务器)。感谢您的回复,我尝试了此代码,但没有成功。如果我们改变设备时间,那么时间戳值也会随之改变。@RIYAZ我也遇到了同样的问题。你找到了解决这个问题的方法吗?@哈里巴布,不,我也尝试过NTP iOS,但运气不好。大家考虑在设置应用程序后强迫用户设定准确的时间,把这个值保存在某个地方,也许是NSUserDefaults。如果不连接Web服务或远程时间服务,恐怕无法从客户端实现您想要的功能。我尝试过,但遇到了一些问题,请参考此问题