所有iPhone的当前时间是否持续存在?

时间:2014-09-16 00:06:29

标签: ios objective-c iphone

我刚才有一个关于日期和时间如何在iOS和Objective-C中运行的快速问题。如果我在两个单独的设备上拨打NSDate *today = [NSDate date]这样的电话,他们是否都会返回完全相同的时间?我试图让多个手机使用当前时间同步,我只是想确保它们将具有相同的当前时间(如果它是毫秒,我不担心,但超过一秒钟可能不会工作)。

提前致谢!

1 个答案:

答案 0 :(得分:0)

由于NSDate在内部将时间存储为NSTimeInterval,因此typedefdouble。它在该问题发布之日起十年或更长时间内具有亚微秒分辨率。

这意味着即使您的两个设备具有紧密同步的时钟,也不可能通过在两个设备上调用NSDate来获得完全相同的[NSDate date]

你可以检查两个日期是否在一秒之内:

NSTimeInterval diff = date0.timeIntervalSinceReferenceDate - date1.timeIntervalSinceReferenceDate;
if (fabs(diff) < 1) {
    // dates less than one second apart
}