IncHour процедура в DateUtils - PullRequest
1 голос
/ 25 июня 2009

У меня есть следующий бит кода Delphi 7 для увеличения значения TDateTime на один час. По какой-то причине это не работает.

 StatusMemo.Lines.Add('prior '+DateTimeToStr(dtval));
 IncHour(dtval,1); // add an hour for DST
 StatusMemo.Lines.Add('after '+DateTimeToStr(dtval));

Содержимое StatusMemo после запуска кода:

prior 6/24/2009 5:35:40 AM
after 6/24/2009 5:35:40 AM

Он ведет себя так, как будто IncHour не работает. Я попытался использовать IncMinute (DTVAL, 60), и получил тот же результат. Чего мне не хватает?

1 Ответ

13 голосов
/ 25 июня 2009

IncHour возвращает увеличенное значение, но не обновляет переданную переменную.

Так что вам нужно сделать:

dtval := IncHour(dtval, 1);
...