首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何将CoreMotion时间戳转换为适当的日期?

如何将CoreMotion时间戳转换为适当的日期?
EN

Stack Overflow用户
提问于 2021-11-16 12:28:11
回答 1查看 141关注 0票数 1

我正在寻找一种方法来将在CoreMotion事件上找到的时间戳转换成正确、高精度的“墙壁日期-时间”。我想将iPhone和Apple上的事件关联起来,所以需要将这些时间戳转换为单个域。

我在互联网上测试了几种方法,比如:https://stackoverflow.com/a/53250802。结果是完全错误的。

还有这个

代码语言:javascript
运行
复制
extension TimeInterval {
    static var bootTime = Date().timeIntervalSince1970 - ProcessInfo.processInfo.systemUptime
    
    var unix: TimeInterval {
        return (TimeInterval. bootTime + self)
    }
}

似乎可以一见钟情。我的测试表明,随着时间的推移,结果unix TimeInterval之间的差异越来越大:

在此图片中,您可以看到收集事件的会话。单个会话事件具有相同的颜色。在上线,您可以看到手表事件和低电话事件。我们看到,watchOS上的时间戳似乎比iPhone上的时间戳前进得慢。这看起来像时间戳可能连接到处理器周期计数?

我的问题是:如何在iPhone和watchOS?上以适当的方式将CoreMotion时间戳转换成日期

EN

回答 1

Stack Overflow用户

发布于 2021-11-17 09:23:15

这实际上是正确的解决办法。

代码语言:javascript
运行
复制
extension TimeInterval {
    static var bootTime = Date().timeIntervalSince1970 - ProcessInfo.processInfo.systemUptime
    
    var unix: TimeInterval {
        return (TimeInterval. bootTime + self)
    }
}

我在watchOS上使用滞后时间戳的问题与杂乱的处理队列连接在一起,因此事件处理程序随着时间的推移越来越滞后。由于某些原因,MotionManager没有对stopMotionDeviceUpdates()做出反应,而且我一次又一次地得到它们,无视这个事实,我关闭了它。我只是试图处理太多的数据-我把传感器的频率提高到了1/100。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/69989175

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档