我有传感器陀螺仪数据以及纪元时间戳。我想将时间戳分析为HH-MM-SS格式。因此,在我尝试转换时间戳时,结果时间不正确。以下是需要考虑的值。
| Time | Gyro_X | Gyro_Y | Gyro_Z |
|-----------------|--------------|-------------|---------------|
| 112802627681000 | 0.09686792 | 0.14810029 | 0.005777027 |
| 112802636065000 | 0.029674599 | 0.10087131 | 2.1168962E-5 |
| 112802636868000 | 0.029674599 | 0.10087131 | 2.1168962E-5 |
| 112802645721000 | -0.019805614 | 0.028886953 | -0.007304834 |
| 112802646541000 | -0.019805614 | 0.028886953 | -0.007304834 |
| 112802655003000 | -0.030801188 | -0.0493038, | -0.0048613725 |
| 112802656170000 | -0.030801188 | -0.0493038 | -0.0048613725 |
正确的时间必须是2014年7月20日格林威治标准时间16-20-31。我正在使用python在时间库的帮助下转换时间戳。
import time
y=time.strftime('%m/%d/%Y %H:%M:%S', time.gmtime(112802646541000/1000000))
要添加我的问题,正在使用cellbots数据记录器应用程序记录传感器数据。使用Sensorevent.Timestamp记录时间戳。所以,我想知道时间戳是否与此方法有关。
答案 0 :(得分:1)
你正在做的除以10 ** 6给出了1973年7月29日。用10 ** 5除以2005年9月29日。如果他们应该代表2014年7月20日那么它们看起来不像这些数字是基于1970年1月1日的时代。
答案 1 :(得分:1)
我认为这个难题的线索在于
$ date -u -d "@$((112802627681000 / 65536))"
Wed 17 Jul 15:51:41 UTC 2024
所以看起来你的时间戳是1960-01-01以来的定点(48.16)秒。
您可能需要使用:
datetime.datetime.fromtimestamp(s/65536 - 315619200)
我通过计算1960-01-01和1970-01-01之间的秒数得到了最后一个幻数:
$ date -u -d 1960-01-01 +%s
-315619200
答案 2 :(得分:-1)
import pytz, datetime
s = 112802646541000/1000000
print(datetime.datetime.fromtimestamp(s).strftime('%d %B %Y %H:%M:%S'))