未知时间戳格式
Unknown timestamp format
外部设备定期向我发送我无法翻译的时间戳。有以下格式:
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二进制是11111
12二进制是1100
查看额外的数据,我最好的猜测是:
3B 3E C0 40 =
0011 1011 0011 1110 1100 0000 1000 0000
yyyy yyMM MMdd dddh hhhh mmmm mmss ssss
001110(剩余的位)应该是年份,但是该值是十进制的14。最好等到明天,这样你就有2013年的数据了:-)
相关文章:
- C++:floor unix时间戳到UTC月份
- 如何在c++中录制具有精确帧时间戳的视频
- 在两台机器之间进行时间戳的最佳c++chrono函数是什么
- Google protobuf 时间戳未声明标识符,在 Windows 上具有C++
- 在多个时间戳处执行函数
- 以天C++为单位的两个时间戳之间的差异
- 获取 QInputEvent 在 Qt 4.8 中被放入 QEventLoop 队列时的时间戳
- 在 C++ 中为文件名添加时间戳
- 如何从远程 SFTP 服务器获取 HH-MM-SS 时间戳格式的文件列表
- 如何将消息时间戳写入日志文件?
- 将时间戳打印到流的最简单方法
- 读取悖论时间戳字段
- C++程序中多个位置的时间 (0) 时间戳
- 如何将纳米第二个时期时间戳转换为可读格式
- 如何将WSTRING中的Unix时间戳转换为char数组中格式的日期
- C++提升以 UTC 格式获取 unix 时间戳
- 提升日志时间戳格式不正确
- 如何比较格式的两个时间戳"Month Date hh:mm:ss"以检查 +ve 或 -ve 值
- 在c++中将dd/mm/yyyy格式的日期转换为时间戳(从01/01/1970开始的秒数)
- 未知时间戳格式