急!两个时间相减如何做

xywu 2002-12-10 05:05:23
有两个时间'2002-11-03 09:23:54.545'和'2002-11-03 10:12:34.343'
求它们之间的时间相差多少,不必到秒,请问该如何做!
...全文
132 11 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
11 条回复
切换为时间正序
请发表友善的回复…
发表回复
wjlsmail 2002-12-10
  • 打赏
  • 举报
回复
先将字符串转换为时间,
StrToDateTime
然后相减,直接相减
ShowMessage(FormatDateTime('yyyy-mm-dd hh:mm:ss', ResultDateTime))
mikesu 2002-12-10
  • 打赏
  • 举报
回复
贴出代码啊!
oracle_lover 2002-12-10
  • 打赏
  • 举报
回复
var
MyVar:double;
Time1,Time2:TDateTime;
Days,Hours,Minutes,Seconds:Integer;
begin
Time1:=StrToDateTime('2002-11-03 09:23:54');
Time2:=StrToDateTime('2002-11-03 10:12:34');
MyVar:=Time2-Time1; //时间实际上就是Double浮点类型
Days:=Round(MyVar); //四舍五入取整就是天数
Hours:=Round(MyVar*24); //小时数
Minutes:=Round(MyVar*24*60); //分钟数
Seconds:=Round(MyVar*24*60*60); //秒数
end;
xywu 2002-12-10
  • 打赏
  • 举报
回复
不行,相减后是’5656566665'
cneast 2002-12-10
  • 打赏
  • 举报
回复
上面好像是由问题的。

应该这样:相差0.5 ---- 12小时
0.25---- 6小时
0.125--- 3小时
0.0625--- 1.5小时
。。。。。

代码还是自己写吧!
mikesu 2002-12-10
  • 打赏
  • 举报
回复
time1:=StrToDateTime('2002-11-03 09:23:54');
time2:=StrToDateTime('2002-11-03 10:12:34');
time3:=time2-time1;
formatDateTime('yyyymmddhhmm',time3);
cneast 2002-12-10
  • 打赏
  • 举报
回复
FormatDateTime('yyyy-mm-dd hh:mm:ss', Date1-Date2)

xywu 2002-12-10
  • 打赏
  • 举报
回复
能不能给点代码,解决了就给分
mikesu 2002-12-10
  • 打赏
  • 举报
回复
直接相减,然后用FormatDateTime()就可以了
cneast 2002-12-10
  • 打赏
  • 举报
回复
1就代表1天,1/24就1小时,1/24/60为分,依次类推;将相减的结果折算就可以了。
cneast 2002-12-10
  • 打赏
  • 举报
回复
直接相减

5,930

社区成员

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

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