我用这个函数算出来的结果怎么会差1秒呢?
d1,d2:TdateTime;
sec:integer;
d1:=strToTime('09:17:00');
d2:=strToTime('09:20:00');
sec:=secondsBetween(d2,d1);
showmessage(inttostr(sec));
结果应该是180秒嘛,为什么算出来的却是179秒呢?
d1,d2:TdateTime;
sec:integer;
d1:=strToTime('09:17:00');
d2:=strToTime('09:20:00');
sec:=secondsBetween(d2,d1);
showmessage(inttostr(sec));
结果应该是180秒嘛,为什么算出来的却是179秒呢?
secondsbetween(d1,d2)相当于Trunc(SecsPerDay * (d2-d1))而TdateTime是double所以他算出来的
SecsPerDay * (d2-d1)等于179.99然后trunc 就得到179秒