【问题标题】:What timestamp format is 48 bits / 6 bytes long?什么时间戳格式是 48 位/6 字节长?
【发布时间】:2019-06-16 19:14:41
【问题描述】:

我有一个我不理解的时间戳格式的文件。我无权访问创建文件的代码,它不是标准格式,所以我在十六进制编辑器中逐段浏览,我找到了格式的时间戳,我不能查找相关信息。

这是一个 48 位数字,带有:
一年 12 位(从 0 开始)
本月 4 位(今年)
一天 5 位(本月)
一小时 5 位(今天)
一分钟 6 位(这个小时)
6 位秒(这一分钟)
10 位为毫秒(这一秒)

而且它是用UTC时间写的,不是系统所在的时间,所以我怀疑时区写在文件附近。

因此,例如,如果您想写 2019-06-16 19:11:22.333,那就是

          2019  -06   -16    19    :11    :22       .333
0b011111100011 0110 10000 10011 001011 010110 0101001101

又名

0b01111110 00110110 10000100 11001011 01011001 01001101

又名

0x7E 36 84 CB 59 4D

幸运的是,我已经知道大概的日期/时间,所以我可以向后工作,但我一直在尝试用谷歌搜索这个以找到关于这种格式的更多信息(或者如果我错过了任何东西),我会空着.有没有人见过这个并且有一个我可以寻找的名字?

编辑:我现在几乎可以肯定,我在野外看到的这个时间戳旁边的 0xE0 80 与它是 PDT (-7h) 有关。

我在网上找到的最好的时间戳数据格式列表是https://sqliteforensictoolkit.com/a-brief-history-of-time-stamps/,但遗憾的是它没有这个。

【问题讨论】:

  • 我想我还应该问,时间戳是正确的词吗?或者这是一个日期时间或时间码或其他什么?
  • 如果你已经解码了,你现在还在寻找什么其他信息?
  • 我想进行健全性检查以确保我正确解码,我可以分享一些东西以表明我不只是盲目猜测,我怎么可能犯了一个将来可能会打击我的错误对于其他日期,以及是否有任何格式的时区文档。

标签: timestamp


【解决方案1】:

这是问题标题的一种可能答案,但与问题详细信息中描述的编码不同。

IEC 61375-1(电气铁路设备 - 火车总线 - 第 1 部分:火车通信网络)第 2 版 2007-04 定义了一个名为 TIMEDATE48 的数据类型:

以数量表示绝对时间的结构化类型 自世界协调时间 (UTC)、00:00:00、1 日以来的秒数 1970 年 1 月(Unix 和 ANSI-C 格式)。

TimeDate48 ::= RECORD
{
  seconds    SIGNED32,    -- elapsed since 1970, January 1st, 00:00
  ticks      UNSIGNED16   -- fraction of seconds (1 tick = 1/65536s)
}

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2016-07-06
    • 1970-01-01
    • 2015-11-02
    • 2013-12-25
    • 2013-05-11
    • 1970-01-01
    • 1970-01-01
    • 2021-11-16
    相关资源
    最近更新 更多