Карта сайта Kansoftware
НОВОСТИУСЛУГИРЕШЕНИЯКОНТАКТЫ
KANSoftWare

Получить из регистров информацию о временной зоне (DST)

Delphi , ОС и Железо , Реестр

Получить из регистров информацию о временной зоне (DST)

12 Заповедей от Админа.
1. Прав всегда Админ, ибо в трех лицах есть он единая власть высшая в классе дисплейном!
2. Неправ вечно юзер, ибо прав всегда Админ!
3. Не возжелай ни места, ни системника, ни профиля, ни монитора, ни мыши Админа своего, и да пребудет с тобой вечное благословение его! 4. И если вошел Юзер в систему без высшего на то дозволения (Админа) - горе ему, ибо порушится профиль его!
5. Да убоится юзер установить прогу неустановленную на комп казенный - ибо не дозволено сие!
6. Да не будет превышен профиль юзерский, ибо сказал Админ: "Аз воздам за то обрезанием... профиля твоего!"
7. Не возжелай войти под паролем чужим в систему, ибо надолго потом из дисплейки выйдешь ты!
8. А если кто разрешение на папку сменит - горе юзеру этому, ибо всемогущ в системе своей Админ!
9. Да убоятся пользователи толпиться на местах своих подобно стадам овец безмозглых, ибо всеведущ Админ!
10. И да убоится юзер качать вирусы, ибо админомерзкое занятие сие!
11. А если кто из юзеров возжелает порнухи или чата админа своего - горе и позор ему, ибо высшие удовольствия эти лишь Админу дозволены!
12. А тот юзер, который прочел строки эти и не проникся смирением и не осознал, что тварь он ламероидная и чайник нечищенный в сиянии славы высшего существа Админоподобного - горе ему, ибо навеки отлучены они будут от сети великой!!!
Во имя отца Билли Гейтса, и сына его Microsofta, и святого духа админовского.

HKEYLocalMachine/Software/Microsoft/Windows/CurrentVersion/TimeZones/ - место, где в регистре хранится информация о временных зонах (Timezone). Двоичный код 'TZI' хранит информацию о начале и конце летнего времени. Есть какие-нибудь идеи насчет извлечения этих дат из этой двоичной величины?

Ок, попробую здесь описать бинарную структуру значения TZI:


int32 Bias;             // Минуты от GMT
                        // (Сидней -600; 0xfffffda8;
                        // или a8, fd, ff, ff)
int32 StandardBias;     // Смещение для стандартного времени (0)
int32 DaylightBias;     // Смещение для летнего времени (-60
                        // или 0xffffffc4 )
int16 ??                          // 0
int16 StandardStartMonth;         // 3 => Март
int16 StandardStartDayOfWeek??;   // 0 => Воскресенье
int16 StandardStartDOWoccurrence; // 1 => 1-й
int16 StandardStartHour;          // 2 => 02:00:00.00
int16 StandardStartMins??;        // 0 => 02:00:00.00
int16 StandardStartSecs??;        // 0 => 02:00:00.00
int16 StandardStartHunds??;       // 0 => 02:00:00.00
int16 ??                          // 0
int16 DaylightStartMonth;         // 0x0a (10) => Октябрь
int16 DaylightStartDayOfWeek??;   // 0 => Воскресенье
int16 DaylightStartDOWoccurrence; // 5 => последний
int16 DaylightStartHour;          // 2 => 02:00:00.00
int16 DaylightStartMins??;        // 0 => 02:00:00.00
int16 DaylightStartSecs??;        // 0 => 02:00:00.00
int16 DaylightStartHunds??;       // 0 => 02:00:00.00



Поиск знаний о временных зонах (DST) из реестра!

Как вы описали, значение TZI - это бинарная структура, которая содержит информацию о временной зоне. В частности, она хранит данные о начале и конце дневного сейсмического времени.

Чтобы извлечь даты из этого бинарного значения, есть несколько идей:

  1. Битовые операции: Вы можете выполнять битовые операции (AND, OR, XOR) на полях Bias, StandardBias, DaylightBias для изоляции конкретных бит, которые представляют даты начала и конца.
  2. Структурный анализ: Поскольку вы предоставили подробное описание бинарной структуры, вы можете анализировать каждое поле, чтобы найти паттерны или отношения между ними. Например, поля StandardStartMonth и DaylightStartMonth могут указывать месяц, когда дневное сейсмическое время начинается и заканчивается соответственно.
  3. Конвертация в шестнадцатеричный формат: Вы можете конвертировать бинарное значение в шестнадцатеричный формат и инспектировать получающуюся строку, чтобы найти любые признаком даты (например, MM/DD/YYYY).
  4. Парсинг DateTime: Если вы работаете в программном языке, который поддерживает парсинг DateTime (например, C#, Python), вы можете попробовать конвертировать бинарное значение в строковое представление дат.

Вот пример на C#:

using System;
using System.Runtime.InteropServices;

// Пусть assume you have the TZI value as a byte array
byte[] tzBytes = ...;

// Конвертируйте массив байтов в структуру
TzInfo tzInfo = Marshal.PtrToStructure<TzInfo>(tzBytes);

// Извлеките даты начала и конца из структуры
DateTime standardStart = new DateTime(tzInfo.StandardStartYear, tzInfo.StandardStartMonth, 1);
DateTime daylightStart = new DateTime(tzInfo.DaylightStartYear, tzInfo.DaylightStartMonth, 1);
DateTime standardEnd = ...; // аналогичная логика для извлечения даты конца
DateTime daylightEnd = ...; // аналогичная логика для извлечения даты конца

// Используйте даты в соответствии с вашими потребностями в приложении

Помните, что консультируйтесь официальной документацией или надежным источником для любых конкретных данных о временных зонах, которые вам интересны. Значения реестра могут не всегда быть точными или актуальными.

Надеюсь, эти идеи помогут вам извлечь соответствующие даты из значения TZI!

Получить из регистров информацию о временной зоне (DST) можно извлечь из двоичного кода 'TZI' значения смещения начала и конца летнего времени, а также месяц, день недели, час, минуты, секунды и часы сецильных начало и конца летнего времени.


Комментарии и вопросы

Получайте свежие новости и обновления по Object Pascal, Delphi и Lazarus прямо в свой смартфон. Подпишитесь на наш Telegram-канал delphi_kansoftware и будьте в курсе последних тенденций в разработке под Linux, Windows, Android и iOS




Материалы статей собраны из открытых источников, владелец сайта не претендует на авторство. Там где авторство установить не удалось, материал подаётся без имени автора. В случае если Вы считаете, что Ваши права нарушены, пожалуйста, свяжитесь с владельцем сайта.


:: Главная :: Реестр ::


реклама


©KANSoftWare (разработка программного обеспечения, создание программ, создание интерактивных сайтов), 2007
Top.Mail.Ru

Время компиляции файла: 2024-08-19 13:29:56
2024-11-21 12:20:51/0.014925003051758/1