我有一个不了解的时间戳格式的文件。我无权访问创建文件的代码,而且它不是标准格式,因此我在十六进制编辑器中逐段进行了检查,并且发现了无法使用的格式的时间戳查找有关的信息。
这是一个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
aka
0b01111110 00110110 10000100 11001011 01011001 01001101
aka
0x7E 36 84 CB 59 4D
幸运的是,我已经知道大概的日期/时间,所以我可以倒退,但是我一直在尝试使用google来查找有关此格式的更多信息(或者如果我错过了任何内容),而且我空了。以前有没有人看过这个名字,我会找一个名字吗?
编辑:我现在几乎可以肯定在野外这个时间戳旁边看到的0xE0 80与它是PDT(-7h)相关
我在网上找到的关于时间戳数据格式的最佳列表是http://www.sandersonforensics.com/forum/content.php?131-A-brief-history-of-time-stamps,但可惜它没有这个列表。
答案 0 :(得分:0)
这是问题标题的一种可能答案,但与问题详细信息中描述的编码方式不同。
IEC 61375-1 (电气铁路设备-火车总线-第1部分:火车通信网络),第二版2007-04定义了称为 TIMEDATE48 的数据类型:>
一种结构化类型,以绝对数量表示 自世界标准时间(UTC)以来的秒数,00:00:00,第一 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)
}