Получить из регистров информацию о временной зоне (DST)
12 Заповедей от Админа.
1. Прав всегда Админ, ибо в трех лицах есть он единая власть высшая в классе дисплейном!
2. Неправ вечно юзер, ибо прав всегда Админ!
3. Не возжелай ни места, ни системника, ни профиля, ни монитора, ни мыши Админа своего, и да пребудет с тобой вечное благословение его! 4. И если вошел Юзер в систему без высшего на то дозволения (Админа) - горе ему, ибо порушится профиль его!
5. Да убоится юзер установить прогу неустановленную на комп казенный - ибо не дозволено сие!
6. Да не будет превышен профиль юзерский, ибо сказал Админ: "Аз воздам за то обрезанием... профиля твоего!"
7. Не возжелай войти под паролем чужим в систему, ибо надолго потом из дисплейки выйдешь ты!
8. А если кто разрешение на папку сменит - горе юзеру этому, ибо всемогущ в системе своей Админ!
9. Да убоятся пользователи толпиться на местах своих подобно стадам овец безмозглых, ибо всеведущ Админ!
10. И да убоится юзер качать вирусы, ибо админомерзкое занятие сие!
11. А если кто из юзеров возжелает порнухи или чата админа своего - горе и позор ему, ибо высшие удовольствия эти лишь Админу дозволены!
12. А тот юзер, который прочел строки эти и не проникся смирением и не осознал, что тварь он ламероидная и чайник нечищенный в сиянии славы высшего существа Админоподобного - горе ему, ибо навеки отлучены они будут от сети великой!!!
Во имя отца Билли Гейтса, и сына его Microsofta, и святого духа админовского.
HKEYLocalMachine/Software/Microsoft/Windows/CurrentVersion/TimeZones/ - место, где в
регистре хранится информация о временных зонах (Timezone). Двоичный код 'TZI'
хранит информацию о начале и конце летнего времени. Есть какие-нибудь идеи
насчет извлечения этих дат из этой двоичной величины?
Ок, попробую здесь описать бинарную структуру значения TZI:
Как вы описали, значение TZI - это бинарная структура, которая содержит информацию о временной зоне. В частности, она хранит данные о начале и конце дневного сейсмического времени.
Чтобы извлечь даты из этого бинарного значения, есть несколько идей:
Битовые операции: Вы можете выполнять битовые операции (AND, OR, XOR) на полях Bias, StandardBias, DaylightBias для изоляции конкретных бит, которые представляют даты начала и конца.
Структурный анализ: Поскольку вы предоставили подробное описание бинарной структуры, вы можете анализировать каждое поле, чтобы найти паттерны или отношения между ними. Например, поля StandardStartMonth и DaylightStartMonth могут указывать месяц, когда дневное сейсмическое время начинается и заканчивается соответственно.
Конвертация в шестнадцатеричный формат: Вы можете конвертировать бинарное значение в шестнадцатеричный формат и инспектировать получающуюся строку, чтобы найти любые признаком даты (например, MM/DD/YYYY).
Парсинг DateTime: Если вы работаете в программном языке, который поддерживает парсинг DateTime (например, C#, Python), вы можете попробовать конвертировать бинарное значение в строковое представление дат.
Вот пример на C#:
usingSystem;usingSystem.Runtime.InteropServices;// Пусть assume you have the TZI value as a byte arraybyte[]tzBytes=...;// Конвертируйте массив байтов в структуруTzInfotzInfo=Marshal.PtrToStructure<TzInfo>(tzBytes);// Извлеките даты начала и конца из структурыDateTimestandardStart=newDateTime(tzInfo.StandardStartYear,tzInfo.StandardStartMonth,1);DateTimedaylightStart=newDateTime(tzInfo.DaylightStartYear,tzInfo.DaylightStartMonth,1);DateTimestandardEnd=...;// аналогичная логика для извлечения даты концаDateTimedaylightEnd=...;// аналогичная логика для извлечения даты конца// Используйте даты в соответствии с вашими потребностями в приложении
Помните, что консультируйтесь официальной документацией или надежным источником для любых конкретных данных о временных зонах, которые вам интересны. Значения реестра могут не всегда быть точными или актуальными.
Надеюсь, эти идеи помогут вам извлечь соответствующие даты из значения TZI!
Получить из регистров информацию о временной зоне (DST) можно извлечь из двоичного кода 'TZI' значения смещения начала и конца летнего времени, а также месяц, день недели, час, минуты, секунды и часы сецильных начало и конца летнего времени.
Комментарии и вопросы
Получайте свежие новости и обновления по Object Pascal, Delphi и Lazarus прямо в свой смартфон. Подпишитесь на наш Telegram-канал delphi_kansoftware и будьте в курсе последних тенденций в разработке под Linux, Windows, Android и iOS
Материалы статей собраны из открытых источников, владелец сайта не претендует на авторство. Там где авторство установить не удалось, материал подаётся без имени автора. В случае если Вы считаете, что Ваши права нарушены, пожалуйста, свяжитесь с владельцем сайта.