Python时间戳转换:拆分式传感器时间戳转标准UNIX时间戳
解答你的UNIX时间戳转换疑问
你猜的完全没错!这里的fractions部分确实是秒的小数延伸,更准确地说,它代表的是纳秒级的时间片段——因为1秒等于109纳秒,所以你直接把`fractions`除以109,再和seconds相加,就能得到标准的带小数的UNIX时间戳了。
拿你给出的示例来算:
seconds: 3733032665fractions: 3056174174
转换后的标准UNIX时间戳就是:
3733032665 + 3056174174 / 1000000000 = 3733032665.3056174174
额外补充:
- 这种拆分存储的方式很常见,很多传感器或系统会用整数分别存秒数和纳秒数,目的是避免浮点数精度丢失的问题。
- 如果你的工具只支持到微秒(6位小数),可以把结果四舍五入到6位,也就是
3733032665.305617,这在绝大多数业务场景下都够用。
比如用Python快速实现这个转换的代码示例:
seconds = 3733032665 fractions = 3056174174 unix_timestamp = seconds + fractions / 10**9 print(unix_timestamp) # 输出: 3733032665.3056174174
内容的提问来源于stack exchange,提问作者Ali R. Memon
相关产品推荐
相关产品推荐

