未知时间戳格式

Unknown timestamp format

本文关键字:格式 时间戳 未知      更新时间:2023-10-16

外部设备定期向我发送我无法翻译的时间戳。有以下格式:

31.12.2012 12:00:00 = 3B 3E C0 00
31.12.2012 12:00:01 = 3B 3E C0 01
31.12.2012 12:00:10 = 3B 3E C0 0A
31.12.2012 12:01:00 = 3B 3E C0 40
31.12.2012 13:00:00 = 3B 3E D0 00
31.12.2012 12:30:00 - 3B 3E C7 80 
31.12.2012 12:30:59 - 3B 3E C7 BB 
31.12.2012 12:44:59 - 3B 3E CB 3B 
31.12.2012 12:45:00 - 3B 3E CB 40
31.13.2013 12:30:00 - 3F 3E C7 80

我不知道这个时间戳是如何编码的,它不是常规的unix时间戳。看起来LSB包含秒,但它并不总是这样(与12:00:10相比)。有人知道怎么解决这个问题吗?

我不明白这个12:00:10的例子有什么奇怪的,0x0A等于10。但是12:01:00这个看起来有点奇怪:

12:01:00 3B 3E C0 40

二进制中的40是0100 0000 -我猜最后6位是秒,这足以容纳0-59。

要确保您必须提供不同分钟值的数据。

日期似乎也存储在部分字节中:

31二进制是1111112二进制是1100

查看额外的数据,我最好的猜测是:

3B 3E C0 40 = 
0011 1011 0011 1110 1100 0000 1000 0000
yyyy yyMM MMdd dddh hhhh mmmm mmss ssss

001110(剩余的位)应该是年份,但是该值是十进制的14。最好等到明天,这样你就有2013年的数据了:-)