在iOS和Android设备之间获得相同的时间

时间:2014-07-25 16:38:18

标签: android ios

我正在尝试在iOS和Android设备之间以毫秒为单位返回时间。我希望,由于大多数设备将它们的时间与网络服务器同步,它们将是相同的。但是,我注意到它们并不完全相同。

我在iOS上使用此方法: [[NSDate date] timeIntervalSince1970]

这适用于Android: System.currentTimeMillis的()

有没有更好的方法尝试跨设备返回相同的确切时间?我注意到这些值可以相互关闭最多2秒,具体取决于Android设备。

需要此同步时间的用例是显示也在设备间同步的循环动画。因此,动画需要同时启动,在设定的持续时间内执行动画,然后再循环。

感谢您的帮助。

1 个答案:

答案 0 :(得分:1)

你永远不会得到完全相同的时间。问题是时钟并不完美,并且它们并不总是以相同的速率同步到完全相同的时间源。即使您同步到同一时间源,它们处理更新消息之间的延迟也会对它们产生影响。 2秒实际上非常好。

时间很棘手。将2台设备完美同步。用其中一个从美国飞到欧洲。它们不再同步,两者都是对的 - 高速行驶的一般相对论效应意味着现在比另一个更老几毫秒。

基本上你想要的不会发生。你必须要足够接近。虽然如果你发布为什么你需要它们如此同步,也许我们可以给你一些想法。