Имя пользователя:
Пароль:  
Помощь | Регистрация | Забыли пароль?  | Правила  

Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Скриптовые языки администрирования Windows » Любой язык - Как преобразовать TimeStamp (hex) из реестра в нормальную дату?

Ответить
Настройки темы
Любой язык - Как преобразовать TimeStamp (hex) из реестра в нормальную дату?

Аватара для Morpheus

Ветеран


Сообщения: 12426
Благодарности: 2328


Конфигурация

Профиль | Отправить PM | Цитировать


Всем привет!

Много где в реестре встречается такой параметр
Код: Выделить весь код
"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
понятно, что здесь должна быть дата со временем, но совершенно непонятно как её вытащить.
Кто умеет? Спасибо!

Отправлено: 22:00, 31-03-2012

 

Ветеран


Сообщения: 1758
Благодарности: 966

Профиль | Цитировать


Morpheus, Что-то я не уверен, что там дата.
Код: Выделить весь код
$key = 'HKCU:\Software\Microsoft\Internet Explorer\ApprovedExtensionsMigration'

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

Отправлено: 23:52, 31-03-2012 | #2



Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети.

Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля.


Аватара для Morpheus

Ветеран


Сообщения: 12426
Благодарности: 2328

Профиль | Отправить PM | Цитировать


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.

Последний раз редактировалось Morpheus, 01-04-2012 в 00:41.


Отправлено: 00:19, 01-04-2012 | #3


Ветеран


Сообщения: 1259
Благодарности: 861

Профиль | Отправить PM | Цитировать


Код: Выделить весь код
$key = 'HKCU:\Software\Microsoft\Internet Explorer\ApprovedExtensionsMigration'
$timestamp = (get-itemproperty $key).timestamp
[DateTime]::FromFileTimeUTC([BitConverter]::ToInt64($timestamp, 0))
Это сообщение посчитали полезным следующие участники:

Отправлено: 00:39, 01-04-2012 | #4


Аватара для Morpheus

Ветеран


Сообщения: 12426
Благодарности: 2328

Профиль | Отправить PM | Цитировать


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

Отправлено: 00:50, 01-04-2012 | #5


Ветеран


Сообщения: 27449
Благодарности: 8087

Профиль | Отправить PM | Цитировать


Цитата Morpheus:
Проблема конвертнуть 32-символьный timestamp. »
Тут, главное, понять, как она в этих 16 байтах хранится. Я ничего вразумительного не нашёл.

Отправлено: 01:08, 01-04-2012 | #6


Аватара для Morpheus

Ветеран


Сообщения: 12426
Благодарности: 2328

Профиль | Отправить PM | Цитировать


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

Отправлено: 01:20, 01-04-2012 | #7



Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Скриптовые языки администрирования Windows » Любой язык - Как преобразовать TimeStamp (hex) из реестра в нормальную дату?

Участник сейчас на форуме Участник сейчас на форуме Участник вне форума Участник вне форума Автор темы Автор темы Шапка темы Сообщение прикреплено

Похожие темы
Название темы Автор Информация о форуме Ответов Последнее сообщение
Как сделать нормальную установку WinXP с флэшки? Wanderer-1000 Автоматическая установка Windows 2000/XP/2003 2 25-07-2011 22:21
CMD/BAT - hex(2) - как добавить в реестр? SvoiLudi Скриптовые языки администрирования Windows 3 05-05-2010 10:06
[решено] php|Преобразовать секунды в дату morgan1991 Вебмастеру 11 30-12-2009 00:14
проблемы с хостингом - timestamp (mysql) mar Вебмастеру 8 10-03-2004 00:46
Как изящно преобразовать строку в число на С++? Crew Программирование и базы данных 5 12-02-2003 21:31




 
Переход