数据库
首页 > 数据库> > mysql – 复杂的未知日期/时间表示

mysql – 复杂的未知日期/时间表示

作者:互联网

包含奇怪格式的日期/时间的日志文件让我保持清醒.
我没有想要对使用过的算法进行逆向工程.使用来自www.digital-detective.co.uk的DCode也无效.
我所知道的:这是一个64位的值,它始于1900年1月1日.
一些例子:

Date/time: Hex-representation:
1900-01-01 00:00:00 > 0000000000000000
2006-07-19 00:00:00 > 0000000000A000E3
2008-04-14 00:00:00 > 00000000000050E3
2008-04-15 11:04:32 > 00D6CF74C42E50E3
2008-04-15 11:04:46 > 00CEA0C8C52E50E3
2008-04-15 11:08:32 > 00EC3B36DB2E50E3
2008-04-16 11:08:43 > 008B3B41DC4E50E3
2008-04-16 11:21:02 > 00B3AD52224F50E3
2012-02-21 00:00:00 > 00000000000000E4
2012-03-13 13:37:54 > 007A35F12CB202E4
2012-10-22 16:27:13 > 001F7A2AF0951EE4

知道如何将给定值转换为重新获得睡眠的日期/时间吗?

解决方法:

我可以肯定地告诉你,这个值要么需要交换字节序,要么被反转.你可以看到除了EPOCH结束于E3和E4之外的所有日期,其中大多数其他数字改变了吨.您还可以看到00:00:00的时间在左侧有平坦的零,这进一步验证了这一说法.

不过,我做了一些快速的数学运算,它似乎没有秒,纳秒,微秒或其他任何东西.不过,这些值之间肯定存在线性相关性.我将从这里做的是生成一系列相隔几秒钟的时间并查看值如何变化.这将有助于确认是否需要反转数字或翻转字节序,以及可能暗示该值与秒的关系.

编辑:它肯定是一个字节翻转,而不是字符串反转.如果是逆转,则它将变为E3-> F3,而不是E3-> E4.卫生署.

从这里开始,我会在EPOCH之后生成100秒,1000秒和10000秒的时间.这可能会给你一个额外的提示.

标签:mysql,datetime,reverse-engineering
来源: https://codeday.me/bug/20190623/1271170.html