我有一个第三方应用程序,它将时间序列数据存储为压缩二进制文件。我正在尝试创建一个工具来转换存储在这个文件中的数据。在
下面显示的是此数据的快照。在
41 16 00 00 01 00 D7 11 00 00 01 00 E8 55 A6 20 08 1E D0 08 00 00 00 60 59 D5
86 40 03 E8 F5 2C 22 08 1E D0 08 00 00 00 00 C0 0B 87 40 01 E8 95 B3 23 08 1E
D0 08 00 00 00 40 1E 00 87 40 01 E8 35 3A 25 08 1E D0 08 00 00 00 60 13 F8 86
40 01 E8 D5 C0 26 08 1E D0 08 00 00 00 40 65 09 87 40 01 E8 75 47 28 08 1E D0
08 00 00 00 20 8A F6 86 40 01 E8 15 CE 29 08
我知道这个数据块对应于以下值。在
^{pr2}$我可以提取这些值:它们属于double
类型。例如,8个字节00 00 00 60 59 D5 86 40
对应于730.6686401
。在
但是我被如何提取日期时间格式所困扰。我知道它就埋在这根绳子的某个地方。我怎么知道时间是什么格式的?在
我一直在使用Python的struct
模块进行类型转换。在
有人有什么想法吗?在
如果您取其中一个
double
之前的8个字节,并将其视为一个整数(低位,如double),则得到以下数字:如果你把这些数字除以10**7,那么你得到的日期是秒数(和分数秒)。至少它对应于分、秒和秒的分数。在几个小时里,我得到了两个错误(时区?)。对于完整日期,日期735000(*)对应于2013年5月13日,如下所示。是从第一年开始的天数:
^{pr2}$(*)这是这些数字中的任何一个除以10**7*60*60*24
或者一步到位:
相关问题 更多 >
编程相关推荐