【问题标题】:How do i get GMT time in ios?我如何在 ios 中获取 GMT 时间?
【发布时间】:2013-09-21 18:53:31
【问题描述】:

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

提前致谢

【问题讨论】:

  • [NSDate date] 返回 GMT 时间
  • @George,如果我的设备迟到了 2 小时,那我还能得到正确的时间吗?
  • @George 我测试了上面的链接代码,但是当我改变我的系统时间时,UTC 时间也会改变。
  • @riyaz:如果设备 时间 错误(而不是时区),那么您将无能为力(除了联系 NTP 服务器)。

标签: ios objective-c time gmt


【解决方案1】:

试试下面的:

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);

【讨论】:

  • 感谢您的回复,我尝试了此代码,但没有运气。如果我们改变设备时间,那么时间戳值就会随之改变。
  • @RIYAZ 我也遇到了同样的问题。你找到解决方案了吗?
  • @HariBabu 不,我也尝试过 ntp-ios 但没有运气。
  • 伙计们考虑在设置应用程序后强制用户设置准确的时间,将此值保存在某个地方可能是 NSUserDefaults,恐怕没有连接网络服务器就无法从客户端完成您想要的或远程授时服务。
【解决方案2】:

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

这是一个 github 项目,他们在其中尝试为 iOS 做到这一点: https://github.com/jbenet/ios-ntp

【讨论】:

猜你喜欢
  • 2011-07-11
  • 1970-01-01
  • 2011-07-20
  • 2018-02-12
  • 2010-10-05
  • 2016-06-15
  • 2013-07-28
  • 2011-08-26
  • 2021-09-11
相关资源
最近更新 更多