Solved

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

Posted on 2009-04-13
5
289 Views
Last Modified: 2012-05-06
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!
0
Comment
Question by:Kanivorous
  • 3
5 Comments
 
LVL 50

Accepted Solution

by:
barry houdini earned 300 total points
ID: 24133295
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
 
LVL 50

Expert Comment

by:barry houdini
ID: 24133352
.....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
 
LVL 32

Assisted Solution

by:aleghart
aleghart earned 200 total points
ID: 24133663
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 youre 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
 
LVL 50

Expert Comment

by:barry houdini
ID: 24133838
....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 Comment

by:Kanivorous
ID: 24134643
Thanks barry for the explanation and aleghart for the helpful links. That explanation in the link made my head spin and took a while to absorb.
0

Featured Post

Netscaler Common Configuration How To guides

If you use NetScaler you will want to see these guides. The NetScaler How To Guides show administrators how to get NetScaler up and configured by providing instructions for common scenarios and some not so common ones.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

In this article we will discuss all things related to StageFright bug, the most vulnerable bug of android devices.
In this post we will learn how to connect and configure Android Device (Smartphone etc.) with Android Studio. After that we will run a simple Hello World Program.
This is a video describing the growing solar energy use in Utah. This is a topic that greatly interests me and so I decided to produce a video about it.
Finds all prime numbers in a range requested and places them in a public primes() array. I've demostrated a template size of 30 (2 * 3 * 5) but larger templates can be built such 210  (2 * 3 * 5 * 7) or 2310  (2 * 3 * 5 * 7 * 11). The larger templa‚Ķ

777 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question