Главная Новые темы Список тем Задать вопрос Поиск  

Форум "Delphi"


Паскаль, Делфи


 #0 ID © 07.08.06 11:56:52 - 09.11.07 13:32:33

TDataTime c учетеом TimeZone



Доброго времени суток!
Подскажите, пожалуйста, как  переменную типа TDataTime привести в всоответствие с часовым поясом, например GMT+7.

var
 CurDateTime, MyDateTime: TDateTime;
 TimeZone: Integer;
begin
...
 MyDateTime:=Now;
 TimeZone:=7;
 CurDateTime:=MyDateTime+???TimeZone???
...

На сколько я понимаю, 7 необходимо перевести в некое значение типа Double. Просветите, пожалуйста, что собой представляет страшное число типа Double, которое хранится в переменных, объявленых как TDateTime. Может это время измеряется в секундах относительно чегото-там,  например 1900 года
Цитата

 #1 Deep © 07.08.06 13:28:19

вроде как вот так

var
    tzi: TIME_ZONE_INFORMATION;

GetTimeZoneInformation(tzi);


tzi.Bias + tzi.DaylightBias -- это твоя часовая зона с учетом перехода на летнее время
 #2 Go © 07.08.06 14:01:06

7 часов это 7/24 = 0.2916666...(тип  double или TDateTime)
 #3 ID © 07.08.06 14:13:07

#1  Deep - немного не то, но пригодится

Нашел решение для моего случая:
var
 CurDateTime, MyDateTime: TDateTime;
 TimeZone: Integer;
begin
...
 MyDateTime:=Now;
 TimeZone:=7;
 CurDateTime:=MyDateTime+TimeZone/24<­/b>


как говорят,"... а ларчик просто открывался".
 #4 Deep © 07.08.06 16:13:31

> #3   ID ©
обычно, при работе с часовыми зонами все таки учитывают переход на летнее время.    Но если это не нужно, то и вправду усложнять жизнь не нужно.    
 #5 db2admin 07.11.07 13:02:50

А если не побоятся и усложнить?
 #6 Deep © 07.11.07 14:37:58

> #5 db2admin
смотри мой пост #1
 #7 db2admin 09.11.07 05:59:25

Вс равно вопрос остался на машине нет перехода на летнее/зимнее время, вы предлагаете брать через API другую GMT с переходом на летнее?
 #8 Deep © 09.11.07 13:32:33

> #7 db2admin
насколько я понимаю, функция > GetTimeZoneInformation(tzi); должна возвращать результат с учетом настроек сделанных пользователем. Если это не так, тогда надо смотреть в МСДН какая функция вернет признак надо ли учитывать переход на летнее время или нет.




  • Написать ответ

    Имя: Регистрация HTML?
    smiles смайлики
    Потом перейти в:    
    паутина



      ©  webest.net, 2002-2007  

    top.mail.ru
    » Бесплатный счетчик посещений
    » Рейтинг сайтов