delphi 求两个时间差
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了delphi 求两个时间差相关的知识,希望对你有一定的参考价值。
如 edit1内的内容为“12:10:01”(这个是时间是从数据库中读取的)
edit2内容是用时钟读取的如“12:20:01”
我的要求就是求出他们的分差或秒差(分差更好)
例:
edit2.text-edit1.text=10
这个10怎么能够得到
请高手告诉我一下
这个我只要他们之间的差
说明一下,EDIT1中的数据是不变的
EDIT2.TEXT-EDIT1.TEXT(这个是不能用的)
我要的是详细的代码
因为我是小白
procedure TForm1.Button1Click(Sender: TObject);
var
TimeStamp : TTimeStamp;
time1, time2 : TDateTime;
timeDiff : integer;
begin
time1 := strToTime(edit1.text); // 转换成时间格式
time2 := strToTime(edit2.text);
TimeStamp := DateTimeToTimeStamp(time2 - time1); // 算出相差值
Dec(TimeStamp.Date, TTimeStamp(DateTimeToTimeStamp(0)).Date);
timeDiff := (TimeStamp.Date*24*60*60)+(TimeStamp.Time div 1000);
timeDiff := round(timeDiff/60); // 转换成分钟
showmessage('Diff in min = '+inttostr(timeDiff)); // 显示
end; 参考技术A bdatetime:=date+' '+edit1.text;
edatetime:=date+' '+edit2.text;
expiretime:=edatetime-bdatetime; //这个值是相差的天数
expiretime*24 是相差的小时数
expiretime*24*60 是相差的分钟数
expiretime*24*60*60 是相差的秒数 参考技术B bdatetime:=date+' '+edit1.text;
edatetime:=date+' '+edit2.text; 参考技术C uses
DateUtils;
DaysBetween
hoursBetween
SecondsBetween
MinutesBetween
hive中如何求两个时间点之间相差月份数,我只知道datediff函数可以求天数
select floor((unix_timestamp(substr('201402',1,6),'yyyyMM')-unix_timestamp(substr('20141112',1,6),'yyyyMM'))/2629495);解释:
格式:两个时间的格式自己随意指定
数字2629495解释。一年有365天4小时58分56秒。折算下秒数再除以12,得到2629495。
然后自己理解下这个数字就明白了。 参考技术A 可以用datediff函数。
创建表及插入数据:
create table test
(begindate datetime,
enddate datetime);
insert into test values ('2015-01-01','2015-07-13')
执行:
select datediff(day,begindate,enddate) from test;
结果: 参考技术B 直接两个时间的年份相减*12加上两个月份相减即可了,例如2020-05-01与2021-03-04,就是(2021-2020)*12+(3-5)=10。
以上是关于delphi 求两个时间差的主要内容,如果未能解决你的问题,请参考以下文章
求Delphi中createprocess、pipe、winexec、shellexecute的详细用法
delphi怎么安装raize,小弟第一次安装控件,求大神详细回答
delphi cxgrid 控件如可实现展开一行记录看其明细