DateUtils中的IncHour过程

tim*_*11g 1 delphi datetime delphi-7

我有以下一点Delphi 7代码将TDateTime值增加一个小时.由于某种原因,它不起作用.

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

代码运行后StatusMemo的内容:

prior 6/24/2009 5:35:40 AM
after 6/24/2009 5:35:40 AM
Run Code Online (Sandbox Code Playgroud)

它的行为就像IncHour不起作用.我尝试使用IncMinute(dtval,60),得到了相同的结果.我错过了什么?

Jon*_*cto 13

IncHour返回递增的值,它不会更新传入的变量.

所以你需要这样做:

dtval := IncHour(dtval, 1);
Run Code Online (Sandbox Code Playgroud)

  • 嗯,这个名字很不幸.使用整数,它是Inc(x)或x:= Succ(x). (5认同)