Time Zone

Clarion, Clarion 7

Модератор: Дед Пахом

Правила форума
При написании вопроса или обсуждении проблемы, не забывайте указывать версию Clarion который Вы используете.
А так же пользуйтесь спец. тегами при вставке исходников!!!
Ответить
Лукьянов
Новичок
Сообщения: 9
Зарегистрирован: 14 Июль 2005, 12:53

Time Zone

Сообщение Лукьянов »

Всем доброго дня (ночи)!

Может кто решал задачу получения локального времени по часовому поясу и времени UTC?

В API есть функция SystemTimeToTzSpecificLocalTime, которая на вход принимает TIME_ZONE_INFORMATION структуры

TIME_ZONE_INFORMATION GROUP,TYPE
Bias LONG
StandardName Byte,DIM(32)
StandardDate LIKE(SYSTEMTIME)
StandardBias LONG
DaylightName Byte,DIM(32)
DaylightDate LIKE(SYSTEMTIME)
DaylightBias LONG
END
Собственно вопрос - откуда взять все эти данные? Для текущей зоны она сама подставляет, а вот для произвольной?
В реестре Windows есть раздел
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Time Zones\, с параметром TZI, видимо и содержащий эту информацию, но вот формат данных как-то не определяется. Может кто знает? Или знает где об этом почитать можно?
Аватара пользователя
Tolusha
Активист
Сообщения: 123
Зарегистрирован: 11 Январь 2006, 16:50
Откуда: Украина, г. Черкассы
Контактная информация:

Сообщение Tolusha »

Анатолий.
Лукьянов
Новичок
Сообщения: 9
Зарегистрирован: 14 Июль 2005, 12:53

Сообщение Лукьянов »

Не поможет. Сама структура - не загадка. А вот где эту информацию взять?
Идея какая была - вытащить ее из реестра - она там есть. В ключе TZI. И запихнуть ее в таблицу, что бы не зависеть от версии, локализации и прочих прелестей ОС. Да только в TZI - она в непонятном для меня (и не описанном в документации) виде. Можно конечно ручками вбить, но в мире 75 часовых поясов. Что слишком много с учетом поиска информации.
Аватара пользователя
Tolusha
Активист
Сообщения: 123
Зарегистрирован: 11 Январь 2006, 16:50
Откуда: Украина, г. Черкассы
Контактная информация:

Сообщение Tolusha »

Анатолий.
Лукьянов
Новичок
Сообщения: 9
Зарегистрирован: 14 Июль 2005, 12:53

Сообщение Лукьянов »

Спасибо, более-менее подойдет.
Гы. У них там ошибочка. Вроде и работать не должно бы. :-)
Ответить