【问题标题】:which iOS time function should I use so it works seamlessly with android我应该使用哪个 iOS 时间函数,以便它与 android 无缝协作
【发布时间】:2015-02-19 19:41:57
【问题描述】:

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

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

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

【问题讨论】:

    标签: ios objective-c iphone timestamp


    【解决方案1】:

    我建议使用[[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。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-08-22
      • 1970-01-01
      • 2018-04-06
      • 1970-01-01
      • 1970-01-01
      • 2016-03-27
      相关资源
      最近更新 更多