python - 如何将正常运行时间转换为日期时间?
问题描述
我正在使用一个向我返回某些事件的系统正常运行时间的 API,它看起来像这样:
8185.16
我想将其转换为 unix 时间,以便能够判断此事件何时发生在当前机器的范围之外。问题是我似乎找不到任何现有的代码。
我尝试编写一个函数来计算 unix 时间和正常运行时间之间的增量,而不是将其应用于所有测量。它看起来像这样:
def uptime():
with open('/proc/uptime') as f:
uptime = float(f.read().split()[0])
now = datetime.datetime.now().timestamp()
return uptime, now, now - uptime
但问题是,它的工作速度不够快,最多会产生 10 毫秒的不准确性,我宁愿避免这种情况。例如,在这两次运行之间,增量从 1604944228.561784 变化到 1604944228.5529969,即 8.7 毫秒
In [252]: time uptime()
CPU times: user 1.26 ms, sys: 209 µs, total: 1.47 ms
Wall time: 1.67 ms
Out[252]: (8625.91, 1604952854.471784, 1604944228.561784)
In [250]: time uptime()
CPU times: user 0 ns, sys: 1.57 ms, total: 1.57 ms
Wall time: 1.25 ms
Out[250]: (8624.89, 1604952853.442997, 1604944228.5529969)
是否存在可以为我提供更可靠结果的现有代码,或者是否有任何其他方法可以更快地解决此问题?
目前我正在运行这 10000 次并使用这 10000 个值的平均值,但这对我来说似乎不是一个好的解决方案。
感谢您的时间。
解决方案
推荐阅读
- google-apps-script - google-apps-script 限制菜单使用/创建给用户
- r - 创建输出表以汇总来自多个数据框的数据
- android - 异步应该是静态错误,Kotlin,Android
- java - 如何使用 gson 和 JsonWriter 反序列化对象数组
- python - 如何在 python 请求中使用 curl 和 -u
- java - 正则表达式中的字符范围
- java - 如何处理版本 17.0.1 和 16.0.1 的 Firebase 错误消息
- python - Scrapy 应该在哪个文件/位置处理数据?
- botframework - Microsoft Bot 框架 (Node.js- SDK4) + Microsoft Graph API
- jquery - 带有 Jquery ajax 的 Spring Boot 应用程序