2

I have the following time samples. The time is stored in a 32-bit representation which I will depict in HEX along with the corresponding timestamp.

e2 51 14 68 = 2011-03-23 11:56:33.684237 (UTC-4)
e2 51 19 6f = 2011-03-23 11:56:33.812511 (UTC-4)
e2 51 a0 42 = 2011-03-23 11:56:37.542177 (UTC-4)
e7 25 49 4f = 2011-03-23 14:11:35.261131 (UTC-4)
e7 2e 71 0a = 2011-03-23 14:12:35.257552 (UTC-4)

Any help in correlating these binary values with the time to determine format would be greatly appreciated. Please note that the clock source is different for the binary value and the timestamp, so there could be a small offset or slight variation.

edmz
  • 3,350
  • 2
  • 22
  • 29
Jason
  • 21
  • 1
  • where did you get the values on the left and the values on the right from? might the numbers on the left be floating point (as the ones on the right imply)? – Claudiu Mar 23 '11 at 18:45
  • Also See [Binary Date Time decode](http://bytes.com/topic/c/answers/608283-binary-date-time-decode) – Alpine Mar 23 '11 at 18:50
  • [Seen this binary date format?](http://stackoverflow.com/q/277660/617750) – Alpine Mar 23 '11 at 18:51
  • [How to interpret the Hexadecimal values in a Time/Date value](https://www-304.ibm.com/support/docview.wss?rs=203&uid=swg27003019&cs=utf-8&q=7003019&lang=en&loc=en_US) – Alpine Mar 23 '11 at 19:06
  • I tried to get more information from the system that is creating the HEX value. The uptime for that system is 111 day(s), 17 hour(s), 6 minute(s), 47 second(s) which roughly corresponds with the following datapoint and timestamp: eb 7f 14 a1 = 2011-03-23 16:13:14.605441 I've basically come up with the tenths of milliseconds since a point in time, but was hoping to find something more concrete. I wonder if the higher order bits are used for something else. If I drop the two highest order bits of the above, we get 72974.8641 seconds which is very close to the current UTC time. – Jason Mar 23 '11 at 20:42

2 Answers2

1

Using the differences:

~0.2 seconds = 1287
~3.7 seconds = 34515
~8098 seconds = 80980237
~60 seconds = 600000

so it's just a certain number of tenths of milliseconds stored as an unsigned integer.

2011-03-23 11:56:33.684237 is around 3796964456 tenths of a millisecond, which is 379696.4456 seconds or ~4.395 days. So the origin (time 0) is 2011-03-19 02:28:17.

So in summary: The number of tenths of milliseconds since about 2011-03-19 02:28:17.

All in all it won't last long.. it seems like a short-term counter which doesn't keep track of years or months so much. Its total range is ~5 days.

Claudiu
  • 224,032
  • 165
  • 485
  • 680
0

I subtracted E251 1468 from E72E 710A, converted it to decimal, and got 81,616,034.

I subtracted 11:56:33.684237 from 14:12:35.257552, converting to seconds, and got 8161.573315.

I'm guessing that the format is a tenth of a millisecond counter.

E251 1468 converted to decimal is 3,796,964,456. Converting to time units, I get 105 hours, 28 minutes, and 16.4456 seconds.

I can't tell what the starting point of the count is, unless there's more than a slight variation.

Gilbert Le Blanc
  • 50,182
  • 6
  • 67
  • 111