# What kind of time format is "00 61 1E 8F 78 BC C9 01" in hex?

I'm reading in a registry key in my Windows Mobile device that has the value of the "PasswordSetTime" which I am assuming is the time the current device password was set, but I don't know how to convert this to human time.

When read in backwards, they convert to values that look like they mean something (It looks a bit like epoch if the last 8 digits are truncated) but I can't seem to figure it out. These values were retrieved between a few minutes.
00 61 1E 8F 78 BC C9 01 => reversed and converted to decimal => 128,841,290,340,000,000

00 99 8D 7A 77 BC C9 01 => reversed and converted to decimal => 128,841,285,700,000,000

Anyone know what these numbers mean and how I can get the date from them? Thanks for any help!
###### Who is Participating?

Commented:
Hello Kanivorous,
If you take the first 11 digits of the first of those numbers, i.e.
12,884,129,034
Then this would appear to be seconds from 1st January 1601
If you divide that number by 86400 (the number of seconds in a day) then you get this number
149,121.9
If you count days from 1st January 1601 (including leap days) then you get a date of 13th April 2009 at 20:43 (although you might need to adjust for time zones)
The 2nd time is therefore 464 seconds or 7:44 minutes earlier.
If you can determine the exact time for one then you should be able to get a fix on the others......
regards, barry
0

Commented:
.....I gather that the above time would be UTC (co-ordinated universal time). Pacific time would be UTC -8 hrs, i.e. the time would adjust to 16:43 on 13th April 2009 with a possible further adjustment for daylight saving......
0

Commented:
Barry beat me to it.

http://support.microsoft.com/kb/188768

Must convert starting from nanoseconds.  Not easy to calculate because Excel treats any date before 1/1/1900 differently.  For instance, 1/1/1601 becomes 1/1/3501.

From: http://www.microsoft.com/technet/scriptcenter/topics/win2003/lastlogon.mspx
Note. In case youre wondering, a number of years ago the American National Standards Institute (ANSI) adopted a system of counting days; this system began with December 31, 1600 as Day 0. In turn, that made January 1, 1601 the first official day in history, with all subsequent dates and times being based on the number of nanoseconds elapsed since the 0 hour on January 1, 1601. (That day was a Monday, by the way.) These so-called ANSI decimal dates were originally designed for use with the COBOL programming language and have continued to be used by Windows and other operating systems.
0

Commented:
....and just to correct an error in my second post.....
Of course if the UTC time/date is 13th April 2009 at 20:43 then UTC -8 is 12:43
regards, barry
0

Author Commented: