Originally Posted by
tabstop
Yay hourly. Okay. So a difference of 900 in the top two bytes would seem to indicate a resolution of four seconds, which is bizarre, OR that for whatever reason the the time is taking 18 bits. (A day is 86400 seconds, which requires ... seventeen bits. Close enough, I guess.) That leaves 14 bits for the date, which is still 0x1E20=7712. If we go by days, that's 21 years, one month, and 11 or so days. Seems unlikely to be a couple of months ago, more like February.
Well, let's look at bytes (remembering that the first two are "gone")
01111000100000
If we split as four bytes for months, five bytes for day, and five for year we get
0111 10001 00000 Jul-17-0 ooh.
If we split as four bytes for year, four bytes for month, and five for day (with padding at end) we get
0111 1000 10000 0 (200)7-Aug-16 which is a possibility.
Putting it all together (for "Tue Apr 19"):
001011011011010000 0111 1000 10000 0
46800 = 13:00:00 2007-Aug-16
I might have some details wrong (remember, I'm guessing about your GMT-5; did you ever print out the actual four-byte integer you had to compare with these?), but I'm starting to believe in the eighteen/fourteen split. Yay math!
edit: Ooh! idea! The reason the first one was an hour off the rest is because the date as printed was in Standard Time while the other dates land in Daylight Saving Time! Ooh! So maybe all your integers should have ended 0x1010 instead, so now we have
01000000010000 for our days. That's 11.25 years, so maybe they come in March (although why we would start counting from 1996 does not appear). Anyway, that's why the first one was off from the other three.