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

daydreamer77 2001-08-31 03:06:20
...全文
2387 23 打赏 收藏 举报
写回复
23 条回复
切换为时间正序
当前发帖距今超过3年,不再开放新的回复
发表回复
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)
发帖
Delphi

5124

社区成员

Delphi 开发及应用
社区管理员
  • VCL组件开发及应用社区
加入社区
帖子事件
创建了帖子
2001-08-31 03:06
社区公告
暂无公告