UTC time to Local Time

Программирование на Pascal

Модератор: trubb

Правила форума
Убедительная просьба юзать теги [code] при оформлении листингов.
Сообщения не оформленные должным образом имеют все шансы быть незамеченными.
Аватара пользователя
Urgor
лейтенант
Сообщения: 662
Зарегистрирован: 2006-03-14 16:30:18
Откуда: Гилея (СПб)
Контактная информация:

UTC time to Local Time

Непрочитанное сообщение Urgor » 2006-09-21 6:54:03

Как можно врямя в UTC преобразовать в локальное время на системе? Или хотя бы как получить смещение для зимнего/летнего времени?
Власть в руках у чужаков, и ты им платишь дань...

Аватара пользователя
trubb
лейтенант
Сообщения: 864
Зарегистрирован: 2005-03-16 17:42:26
Откуда: сами мы не местные, приехали на лечение

Непрочитанное сообщение trubb » 2006-09-22 8:45:31

из реестра можно выдрать часовой пояс типа GMT+5

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Time Zones
иГрАюВсТрАйКбОл!

Аватара пользователя
Urgor
лейтенант
Сообщения: 662
Зарегистрирован: 2006-03-14 16:30:18
Откуда: Гилея (СПб)
Контактная информация:

Непрочитанное сообщение Urgor » 2006-09-22 9:19:24

Не. Надо именно смещение с учетом летнего/зимнего времени. Пока сделал так:

Код: Выделить всё

Function IsSunnyTime:boolean;
var
  Year, Month, Day, DOW: Word;
  sdate, wdate : Tdatetime;
begin
  result:=false;
  DecodeDate(now,Year,month,day);
  DecodeDateFully(EncodeDate(Year, 3, 31), Year, Month, Day, DOW);
  sdate := EncodeDate(Year, 3, 32 - DOW);
  DecodeDateFully(EncodeDate(Year, 10, 31), Year, Month, Day, DOW);
  wdate := EncodeDate(Year, 10, 32 - DOW);
  if (now >= sdate) and (now < wdate) then result:=true;
end;

function GetTimeZone: integer;
var
  TimeZone: TTimeZoneInformation;
begin
  GetTimeZoneInformation(TimeZone);
  Result := TimeZone.Bias div -60;
  if IsSunnyTime then Result:=TimeZone.Bias div -60 +1;
end;
Власть в руках у чужаков, и ты им платишь дань...


Вернуться в «Delphi, Lazarus, Free Pascal»

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и 2 гостя