将十六进制值转换为日期

Convert Hex value to Date

提问人:Ola Mallaug 提问时间:10/3/2023 最后编辑:Ola Mallaug 更新时间:10/3/2023 访问量:38

问:

我有一个来自 VB6 应用程序(没有源代码)的 RAF(随机访问文件),我正在尝试读取,但我无法弄清楚文件中日期的格式。也许你见过这样的事情?以下是一些示例值(右侧的十六进制值是我在 VB6 应用程序中使用左侧日期后在数据文件中看到的值):

01/01/1900 - 00 00 00 00 40
01/02/1900 - 00 00 00 08 40
01/03/1900 - 00 00 00 10 40
01/04/1900 - 00 00 00 14 40

01/01/1900 - 00 00 00 00 40
02/01/1900 - 00 00 80 40 40
03/01/1900 - 00 00 80 4e 40
04/01/1900 - 00 00 00 57 40
05/01/1900 - 00 00 80 5e 40

12/31/1900 - 00 00 e0 76 40

10/10/1901 - 00 00 f0 76 40
10/20/1901 - 00 00 00 77 40
10/30/1901 - 00 00 10 77 40

10/10/1902 - 00 00 e0 86 40
10/20/1902 - 00 00 e8 86 40
10/30/1902 - 00 00 f0 86 40

10/10/1950 - 00 00 d6 d1 40
10/20/1950 - 00 40 d6 d1 40
10/30/1950 - 00 80 d6 d1 40

10/10/1951 - 00 80 c2 d5 40

10/02/2023 - 00 20 12 e6 40

10/10/2100 - 00 b0 d5 f1 40

我试图在值中找到与天/小时/分钟/秒等相对应的模式。基线是 1/1/1970,但此之后的值与任何常规模式相加。它不是 BCD 编码的。我试图拆分字节,但没有任何意义。我试着查看单个编码的日、月和年,但没有加起来。

日期 解码 二进制数据

评论

0赞 Matt Johnson-Pint 10/3/2023
你的申请中怎么有这样的日期?这些日期不能是有效日期。40/01/190050/01/1900
0赞 Matt Johnson-Pint 10/3/2023
您在此处显示的字节很可能根本不与日期相关。您如何确定要向我们显示哪些字节?
0赞 Gustav 10/3/2023
这将是困难的,因为前四个示例值之间没有线性进展。
0赞 Ola Mallaug 10/3/2023
@MattJohnson品脱 当我从记事本上复制时,数字刚刚更新错误。我现在已经正确更新了它们。
0赞 Ola Mallaug 10/3/2023
@Gustav 是的,我看不到线性进展,这就是我寻求帮助的原因:-)

答: 暂无答案