我将数据存储在HEX格式的文件中,我知道相应日期应该是什么的一些例子。 但是我无法确定如何计算它。
83 61 94 04/08/2015
83 61 75 16/07/2015
83 61 97 07/08/2015
83 0 135 01/01/1999
83 51 64 08/10/2012
我不知道日期是如何编码的,并且没有办法找出数据文件是旧的并且不再受任何人支持。
关于如何将十六进制转换为相应日期的任何建议??
答案 0 :(得分:0)
2015-08-04 - **94** days = 2015-05-02
2015-07-16 - **75** days = 2015-05-02
2015-08-07 - **97** days = 2015-05-02
所以第三个字节,以"十六进制形式"必须与"天数"我认为2015-05-02应编码为83 61 00。但是,您应该提供一些不同年份的其他日期的示例,以便了解其他字节。
编辑:您的新数据可以说明以下内容 83 51 64 - > 2012-10-08 - ** 64 **天= 2012-08-05(83 51 00) 83 01 35 - > 1999-01-01 - 83 天= 1998-11-27(83 01 00)
61 - 51 = 10,2012-08-05和2015-05-02之间有1000天(83 61 00),这意味着,第二个"字节"还给我们"天"但是使用x100乘数。
在第二个案例(1998-11-27)上尝试。从该日期到2015-05-02(83 61 00)有6000,000天。 61-01 = 60 * 100。
我相信你的公式应该是这样的: 日期在"十六进制" (AA BB CC)
日期=(AA * 1000 + BB * 100 + CC)天+ Date_0
我让你自己计算Date_0,因为你可以使用你提供的任何日期示例。
注意我假设AA乘以1000,因为您没有提供更改第一个字节的任何示例。