Шифрование формата даты DateTime

Я работаю над маленькой загадкой. У меня есть временные метки, которые, как я знаю, являются временными метками, но не могут понять, как они закодированы.

3ebf5b89 means 08-October-2013 hour 8 AM but minute I can't provide neither second 
3ebd5f09 means 09-October-2013 hour 8 AM Unknown minute/second.
3ea15d09 means 11-October-2013 hour 8 AM Unknown minute/second but before half past hour.

Любые идеи по кодированию?

Странная часть заключается в том, что даты, как представляется, становятся более низкими значениями в течение нескольких дней.

Если я конвертирую в десятичную и вычитаю большую дату с маленькой даты, я получаю значение, преобразованное в секундах, примерно в два дня между двумя датами с 5-часовой ошибкой в ​​день.

LE:

Мне удалось получить более точные отметки времени:

3ea02d09 - Oct 11th, 2013 at 17:10 (hour:minute)
3ea7ff89 - Oct 12th, 2013 at 14:28
3ea7cf09 - Oct 12th, 2013 at 15:34

Ответ 1

казалось, что временная метка использует Pi в качестве основы для вычисления времени!?

3ea7ff89 - 12 октября Час 14 Минут 28 3ea7cf09 - 12 октября Час 15 минут 34

разница: 12416 ~ 66 минут если мы разделим его на 60 на 60 секунд в минуту, а после этого мы разделим его на 66 для разницы минут, которую мы получаем 3.13535353535, что действительно близко к Pi. если мы используем pi для обратного преобразования: Pi * 66 * 60 = 12440, который находится в диапазоне ошибок не доставленных секунд в ваших временных отметках.

Ответ 2

Мне интересно, какие HEX, преобразованные в Decimal, имеют некоторое отношение к Unix Epoch время:

Те шестнадцатеричные числа переводят на некоторые действительные даты, но отличаются от того, что вы упомянули:

Hex 3ebf5b89 = Decimal 1052728201 = Mon, 12 May 2003 08:30:01 GMT

Hex 3ebd5f09 = Decimal 1052598025 = Sat, 10 May 2003 20:20:25 GMT

Hex 3ea15d09 = Decimal 1050762505 = Sat, 19 Apr 2003 14:28:25 GMT


Hex 3ea02d09 = Decimal 1050684681 = Fri, 18 Apr 2003 16:51:21 GMT

Hex 3ea7ff89 = Decimal 1051197321 = Thu, 24 Apr 2003 15:15:21 GMT

Hex 3ea7cf09 = Decimal 1051184905 = Thu, 24 Apr 2003 11:48:25 GMT

Ответ 3

Я пытался играть с бинарной формой ваших входов и использовать побитовый оператор XOR (бедный человек) между значение и соответствующую временную метку UNIX.

Это то, что у меня есть до сих пор:

(1381507800 ^ 0x3ea02d09) = 0110110011111 00000001111 11 010 001

(1381584480 ^ 0x3ea7ff89) = 0110110011111 11010110001 11 101 001

(1381588440 ^ 0x3ea7cf09) = 0110110011111 11010010010 11 010 001
  • 16 бит + 2 биты остаются стабильными.
  • Первые 13 бит плюс последние 3 бита (которые делают 16 бит, если они объединены) заставляют меня думать о каком-то сдвиге влево.

Обратите внимание, что мой часовой пояс - это UTC + 1, и поэтому мои отметки времени UNIX могут быть неточными. Было бы здорово, если бы вы могли получить соответствующие метки времени в вашей системе, чтобы продвинуть этот вывод дальше.