我应该使用哪个iOS时间函数,以便它与android无缝协作

时间:2015-02-19 19:41:58

标签: ios objective-c iphone timestamp

我的服务器是用Java构建的,因此我的Android应用程序(显然)。对于某些操作,我需要应用程序的时间戳。我将该时间戳存储在服务器上。对于服务器和android,我使用System.currentTimeMillis()。那么我应该使用什么iOS或Objective-C功能,所以时间是一样的?我应该使用CFAbsoluteTimeGetCurrent()还是NSTimeInterval timeInMiliseconds = [[NSDate date] timeIntervalSince1970]。同样,我需要时间,以毫秒为单位。

更便宜,更快更好,所以我在想CFAbsoluteTimeGetCurrent()。但这似乎不是正确使用的。这是为什么?

无论如何,最好的方法是什么?

1 个答案:

答案 0 :(得分:0)

我建议使用[[NSDate date] timeIntervalSince1970],它总是以秒为单位指定。此外,它在10,000年的范围内产生亚毫秒精度。

只需将结果乘以1000即可获得毫秒数。

currentTimeMillis()相当于[[NSDate date] timeIntervalSince1970] * 1000

请注意,如果日期对象早于1970年1月1日格林尼治标准时间中午12:00,则返回值为负。

CFAbsoluteTimeGetCurrent()返回相对于2001年1月1日00:00:00 GMT的绝对参考日期的秒数。

例如,绝对时间-32940326相当于1999年12月16日17:54:34。

相关问题