Компьютерный форум OSzone.net  

Компьютерный форум OSzone.net (http://forum.oszone.net/index.php)
-   Скриптовые языки администрирования Windows (http://forum.oszone.net/forumdisplay.php?f=102)
-   -   Как преобразовать TimeStamp (hex) из реестра в нормальную дату? (http://forum.oszone.net/showthread.php?t=231799)

Morpheus 31-03-2012 22:00 1890994

Как преобразовать TimeStamp (hex) из реестра в нормальную дату?
 
Всем привет!

Много где в реестре встречается такой параметр
Код:

"TimeStamp"=hex:da,07,0b,00,00,00,15,00,03,00,28,00,06,00,8c,02
или
"InstallTimeStamp"=hex:d9,07,07,00,02,00,0e,00,04,00,35,00,39,00,9a,02

понятно, что здесь должна быть дата со временем, но совершенно непонятно как её вытащить.
Кто умеет? :) Спасибо!

Foreigner 31-03-2012 23:52 1891065

Morpheus, Что-то я не уверен, что там дата.
Код:

$key = 'HKCU:\Software\Microsoft\Internet Explorer\ApprovedExtensionsMigration'

[byte[]] $x = get-itemproperty $key | % { $_.timestamp }
$encode = new-object system.text.asciiencoding
$encode.getstring($x)


Morpheus 01-04-2012 00:19 1891074

Foreigner, у меня в этом разделе 16-символьный timestamp:
Код:

"Timestamp"=hex:f6,c4,93,4f,99,a8,cc,01
он как раз конвертится без проблем по схеме.
Из f6,c4,93,4f,99,a8,cc,01 получаем 01cca8994f93c4f6, конвертим в DEC, получаем 129663865705448690, затем получаем дату:

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

Проблема конвертнуть 32-символьный timestamp.

Kazun 01-04-2012 00:39 1891082

Код:

$key = 'HKCU:\Software\Microsoft\Internet Explorer\ApprovedExtensionsMigration'
$timestamp = (get-itemproperty $key).timestamp
[DateTime]::FromFileTimeUTC([BitConverter]::ToInt64($timestamp, 0))


Morpheus 01-04-2012 00:50 1891087

Kazun, спасибо! Для 16-символьных всё ок, а для длинных ерунда получается.

Iska 01-04-2012 01:08 1891094

Цитата:

Цитата Morpheus
Проблема конвертнуть 32-символьный timestamp. »

Тут, главное, понять, как она в этих 16 байтах хранится. Я ничего вразумительного не нашёл.

Morpheus 01-04-2012 01:20 1891096

Iska, аналогично.


Время: 20:00.

Время: 20:00.
© OSzone.net 2001-