CMLogItem时间戳:为什么这么复杂?

时间:2018-11-11 16:10:56

标签: swift core-motion

我从CoreMotion查询中迅速收到了CMLogItem(可能是加速度计,陀螺仪)。现在,我想获取该示例的时间戳,最好作为Date()对象。 CMLogItem具有类型.timestamp的属性TimeInterval

文档告诉我以下内容:

  

CMLogItem类定义了一个只读时间戳属性,该属性可以   记录运动事件测量的时间。

但是,我不确定如何将时间戳转换为Date()对象,因为我不知道时间戳是指什么。

另一个文档说:

  

时间戳是自设备以来的时间(以秒为单位)   启动。

但这似乎很奇怪,我不明白为什么苹果会创建如此不一致和复杂的API。

1 个答案:

答案 0 :(得分:0)

我想我明白了。 这里的文档只是错误的。 这不是“设备启动后的秒数”,实际上是自参考日期起的时间。

修复:

extension CMLogItem {
    func startTime() -> Date {
        return Date(timeIntervalSinceReferenceDate: self.timestamp)
    }
}