用户名:  密码:   
您当前的位置:首页 > 程序设计 >  Delphi > 

delphi中日期和时间比较函数

上次修改时间: 2023-06-21 16:36:10      来源:网络总结      作者:钢铁长陈
上一页      路径:DSD\Learn\Delphi语言\日期和时间相关\      下一页

delphi中日期和时间比较函数

来自:https://blog.csdn.net/weixin_45616483/article/details/114889419

注:只有比较日期时候能相等,只要有时间,不是小于就是大于,就算是赋值一样的时间也总不能相等,不知道为什么
注2:要比时间是否相等只有把时间转为字串比较,否则总是不相等
CompareDateTime() //比较两个时间是否相同
CompareDate() //比较两个时间的日期是否相同
CompareTime() //比较两个时间的时分秒是否相同
SameDateTime() //比较两个时间是否相同
SameDate() //比较两个时间的日期部分是否相同
SameTime() //比较两个时间的时分秒是否相同

前3个函数 的返回值是-1,0,1
前者 < 后者 返回 -1
前者 = 后者 返回 0
前者 > 后者 返回 1

后3个函数的返回值是True,False

program Project1;
{$APPTYPE CONSOLE}
 
uses
  SysUtils,DateUtils;
 
var
  date1,date2:TDateTime;
  r1,r2,r3:Integer;
  b1,b2,b3:Boolean;
begin
   date1:= StrToDateTime('2019-08-08 10:01:00');
   date2:= StrToDateTime('2019-08-08 10:00:00');
 
   r1:=compareDatetime(date1,date2);//1
   r2:=CompareDate(date1,date2); //0
   r3:=CompareTime(date1,date2); //1
 
   b1:=SameDateTime(date1,date2);//FALSE
   b2:=SameDate(date1,date2);//TRUE
   b3:=SameTime(date1,date2);//FALSE
 
   date1:= StrToDateTime('2019-08-08 10:01:00');
   date2:= StrToDateTime('2019-08-08 10:02:00');
 
   r1:=compareDatetime(date1,date2);//-1
   r2:=CompareDate(date1,date2); //0
   r3:=CompareTime(date1,date2); //-1
 
   b1:=SameDateTime(date1,date2);//FALSE
   b2:=SameDate(date1,date2);//TRUE
   b3:=SameTime(date1,date2);//FALSE
 
   date1:= StrToDateTime('2019-09-08 10:01:00');
   date2:= StrToDateTime('2019-08-08 10:01:00');
 
   r1:=compareDatetime(date1,date2);//1
   r2:=CompareDate(date1,date2); //1
   r3:=CompareTime(date1,date2); //0
 
   b1:=SameDateTime(date1,date2);//FALSE
   b2:=SameDate(date1,date2);//FALSE
   b3:=SameTime(date1,date2);//TRUE
 end.