【问题标题】:Accurate time on iPhoneiPhone 上的准确时间
【发布时间】:2013-04-25 06:15:03
【问题描述】:

有没有办法在 iPhone 中非常精确地获取时间。?目前我正在尝试使用 ios NTp client Here 。在与不同的设备进行比较时,我得到了几乎 600 毫秒 的差异。即使我不担心 ntp 这样的准确时间,我也想在不同设备上显示与 milliseconds 相同的时间。

【问题讨论】:

  • 您是从服务器发送的 dateString 中形成日期吗?
  • 是的。我现在正在从不同的 ntp 服务器获取时间。
  • ios-ntp 客户端指出它没有完全实现 NTP 协议,也不打算实现超过 ~ 1s 的精度。如果您想要更高的准确性,您可能需要使用完整的 ntp 客户端或实现您自己的客户端。这是一个非常具有挑战性的问题;我不知道现有的解决方案。我可能会从扩展 ntp-ios 代码开始,因为它已经完成了部分工作。
  • 谢谢 Rob .. 如果您找到任何解决方案,请告诉我。

标签: ios objective-c cocoa-touch datetime


【解决方案1】:

查看这个适用于 iOS 的 NTP 客户端库:https://code.google.com/p/ios-ntp/

来源:1

【讨论】:

    【解决方案2】:

    这是完成此操作的简单方法:-

     + (NSDate *) GMTNow
     { 
      NSDate *sourceDate = [NSDate date];
      NSTimeZone* currentTimeZone = [NSTimeZone localTimeZone];
      NSInteger currentGMTOffset = [currentTimeZone secondsFromGMT];
    
      [sourceDate dateByAddingTimeInterval:currentGMTOffset];
    
      return sourceDate;
      }
    

    【讨论】:

    • 是否取决于系统时间?
    • 不,这取决于您的位置和世界时。它总是给出准确的时间,而不是你的系统时间改变了。
    • 感谢您的重播 .. 仍然对我不起作用。它在不同的设备上会有 3-4 秒的差异 :(
    • 你能告诉我你需要如此精确的时间是为了什么目的吗?请详细说明。如果答案有助于投票。
    • 想在不同的设备上在精确的时间触发一些事件(播放音频、视频之类的东西)。如果在不同设备上播放音频,用户可以轻松识别差异。
    猜你喜欢
    • 1970-01-01
    • 2010-12-02
    • 2012-05-09
    • 2011-02-04
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-03-15
    相关资源
    最近更新 更多