求日期时间算法,急!
以下是一组数据(文件里存储的16进制数 及 日期时间值):
40 21 D3 81 D1 41 2007-3-26 12:31:01
00 C6 CA 81 D1 41 2007-3-26 10:08:24
80 DC F0 F3 D0 41 2006-1-20 0:50:58
00 E4 D9 F3 D0 41 2006-1-19 18:18:56
00 70 EC F3 D0 41 2006-1-19 23:35:28
00 E4 D9 F3 D0 41 2006-1-19 18:18:56
00 00 D9 F3 D0 41 2006-1-19 18:03:44
00 00 00 F3 D0 41 2006-1-17 4:20:16
00 00 00 00 D0 41 2004-1-10 21:37:04
00 00 00 00 00 41 1970-1-2 20:24:32
00 00 00 00 01 41 1970-1-2 22:41:04
00 00 00 00 02 41 1970-1-3 0:57:36
00 00 00 00 03 41 1970-1-3 3:14:08
00 00 00 00 10 41 1970-1-4 8:49:04
00 00 00 00 00 01 1970-1-1 8:00:00
00 00 00 00 00 02 1970-1-1 8:00:00
00 00 00 00 00 40 1970-1-1 8:00:02
00 00 00 00 00 41 1970-1-2 20:24:32
求之间的对应关系,分不够可以再加,只要能解决问题就行。
00 C6 CA 81 D1 41 2007-3-26 10:08:24
80 DC F0 F3 D0 41 2006-1-20 0:50:58
00 E4 D9 F3 D0 41 2006-1-19 18:18:56
00 70 EC F3 D0 41 2006-1-19 23:35:28
00 E4 D9 F3 D0 41 2006-1-19 18:18:56
00 00 D9 F3 D0 41 2006-1-19 18:03:44
00 00 00 F3 D0 41 2006-1-17 4:20:16
00 00 00 00 D0 41 2004-1-10 21:37:04
00 00 00 00 00 41 1970-1-2 20:24:32
00 00 00 00 01 41 1970-1-2 22:41:04
00 00 00 00 02 41 1970-1-3 0:57:36
00 00 00 00 03 41 1970-1-3 3:14:08
00 00 00 00 10 41 1970-1-4 8:49:04
00 00 00 00 00 01 1970-1-1 8:00:00
00 00 00 00 00 02 1970-1-1 8:00:00
00 00 00 00 00 40 1970-1-1 8:00:02
00 00 00 00 00 41 1970-1-2 20:24:32
这个不可能包含一个完整的时间,据我估计这不是任何一个时间的编码.你应该是把对应关系搞错了!
00 00 00 00 00 01 1970-1-1 8:00:00
00 00 00 00 00 02 1970-1-1 8:00:00
00 00 00 00 00 40 1970-1-1 8:00:02
00 00 00 00 00 41 1970-1-2 20:24:32
这四行数据就可以说明!
这四行数据的熵太小,不可能分布到后面的时间.
呵呵 菜鸟分析一下(暂时只能说明1970年的代码):
00 00 00 00 00 01 1970-1-1 8:00:00
00 00 00 00 00 02 1970-1-1 8:00:00
00 00 00 00 00 40 1970-1-1 8:00:02
00 00 00 00 00 41 1970-1-2 20:24:32 //很多人对41不理解,想想16进制的41是10进制的65
而ASC2码中65对应的是A,而英文中总是把A当作
开始的象征
所以我认为它是系统开始计数的时间,但是为什么01和02都是8:00:00,而40是8:00:02呢?
这点我也没想明白。我推理40相当于开启定时装置,而据我估计1970-1-1 8:00:00~1970-1-1 8:02:00之间是应用程序的启动,01,02与40是所必需添加的三个事件(就像为什么我们求1+2+...+100一样,只输入前两个和最后一个),至此1970-1-1 8:00:02,整个应用程序启动完毕。而1970-1-2 20:24:32是程序正式起作用的时间,至此16进制最末尾的41代码已无具体作用。这也是为什么后来的里面都有41的原因,他已经完成了它的使命。报告了程序开始起作用的时间。
00 00 00 00 00 41 1970-1-2 20:24:32 //从这里开始41我们就刨除不管了
00 00 00 00 01 41 1970-1-2 22:41:04 //那么我们看到的还是最小的数据
00 00 00 00 02 41 1970-1-3 0:57:36 //16进制的01,02,03,以及10(即16)
00 00 00 00 03 41 1970-1-3 3:14:08
00 00 00 00 10 41 1970-1-4 8:49:04
呵呵 本人感到无聊,所以哈哈 把这些时间差求了出来 哈哈
这里的1代表的是2:16:32,即8192秒。截至1970-1-4 8:49:04,这些数据都是成立的。
从这里暂时看出它是一个计时装置,即时间每加2:16:32即8192秒,数字就加1。
先暂时告一段落,老妈催我睡觉了。呵呵