delphi怎样求出两时间之间相差多少秒?

daydreamer77 2001-08-31 03:06:20
...全文
2953 23 打赏 收藏 转发到动态 举报
写回复
用AI写文章
23 条回复
切换为时间正序
请发表友善的回复…
发表回复
dyny 2001-09-16
  • 打赏
  • 举报
回复
gz
windfantasy 2001-09-04
  • 打赏
  • 举报
回复
不是都说D6不好嘛,我还是用D5吧,太平一点。别没事找事了。
dq 2001-09-03
  • 打赏
  • 举报
回复
呵呵,难道你们用的不是D6?D6下是这个文件——
C:\Program Files\Borland\Delphi6\Source\Rtl\Common\DateUtils.pas
如果你们的Delphi版本里确实没有这个东东的话,就用我的方法吧,和它的源码里的实现本质上是一致的:)
daydreamer77 2001-09-03
  • 打赏
  • 举报
回复
D6免提,我用的是D5.5
windfantasy 2001-09-02
  • 打赏
  • 举报
回复
那上面2位是怎么用的呀?还连连称好呢!
我就是找不到有这个单元,难道他们用的是D6不成?
tikkypeng 2001-09-02
  • 打赏
  • 举报
回复
不知道那个东西是那里的~~呵呵~~
windfantasy 2001-09-02
  • 打赏
  • 举报
回复
怎么没人回答我?
OysterLQD(沉默者)、dq(独轻) ,都不在吗?
windfantasy 2001-09-02
  • 打赏
  • 举报
回复
DateUtils在哪里的?
我怎么找不到啊?不能用啊!
dq 2001-09-02
  • 打赏
  • 举报
回复
漂亮!OysterLQD(沉默者)!
又学了一招,原来从来没有发现有DateUtils这么个东东!

没必要再讨论下去了,把分给他吧:)
qiandeng 2001-09-01
  • 打赏
  • 举报
回复
gettickcout
OysterLQD 2001-09-01
  • 打赏
  • 举报
回复
Unit
DateUtils

function SecondsBetween(const ANow, AThen: TDateTime): Int64;
rainking 2001-09-01
  • 打赏
  • 举报
回复
Gettickcount是得到当前系统时间是多少微秒。
我一般这样写:
var
T1,T2:Double;
begin
T1:=GetTickCout;
do something;
t2:=Gettickcount;
lable1.caption:=Floattostr((t2-t1)/1000)+'秒';
end;
windindance 2001-09-01
  • 打赏
  • 举报
回复

最简单的方法:
var t1,t2:TDateTime;
n :integer;
n := integer(double(t2-t1) * 86400);
glink 2001-09-01
  • 打赏
  • 举报
回复
同意dq(独轻) 
DD88 2001-08-31
  • 打赏
  • 举报
回复
关注
yymmme 2001-08-31
  • 打赏
  • 举报
回复
但是用GetTickCount有可能出现异常,好像是吧?到达一定的值后,它好像是要重新计数的。
wwwwwwww 2001-08-31
  • 打赏
  • 举报
回复
如果计算含日期的时间差,用Gettickcount就可以了!
ecgnis 2001-08-31
  • 打赏
  • 举报
回复
Gettickcount是得到当前系统时间是多少微秒。
我一般这样写:
var
T1,T2:Double;
begin
T1:=GetTickCout;
do something;
t2:=Gettickcount;
lable1.caption:=Floattostr((t2-t1)/1000)+'秒';
end;
dq 2001-08-31
  • 打赏
  • 举报
回复
GetTickCount在计算任意两个时间的差的时候能有什么用?先不用管它(想了解用法查SDK)。

TDateTime是以天为单位的Double类型值,所以可以直接进行加减乘除运算,最后乖以24*3600就得到秒了。例如——

var
T1, T2: TDateTime;
D: Double;
begin
T1 := StrToDateTime('2001-8-31 16:00:00');
T2 := StrToDateTime('2001-9-1 16:00:00');
D := (T2 - T1) * 24 * 3600;
ShowMessage(FloatToStr(D));
end;
daydreamer77 2001-08-31
  • 打赏
  • 举报
回复
不行,此方法遇到跨日时便会出错,如果要连年月日也计算实在太麻烦了。
GetTickCount是什么?怎样用?
加载更多回复(3)

5,557

社区成员

发帖
与我相关
我的任务
社区描述
Delphi 开发及应用
社区管理员
  • VCL组件开发及应用社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧