delphi计算时间差

DaysBetween()函数可以实现,函数原型:
(使用时在单元接口部分引用 DateUtils 单元)
function TForm1.DaysBetween(Date1, Date2: TDateTime): integer;
begin
 Result := Trunc(Date2) - Trunc(Date1) + 1;
 if Result < 0 then Result := 0;
end;


FileTime := FileDateToDateTime(FileGetDate(iFileHandle));

     FileClose(iFileHandle);
       Days := DaysBetween(now,FileTime);
       Hours:=HoursBetween(now,FileTime)-(Days * 24);
      Minutes := MinutesBetween(now,FileTime)-((Days * 24 + Hours) * 60);

       Seconds := SecondsBetween(now,FileTime)-(((Days * 24 + Hours)*60+Minutes) * 60);




//================================================================== 
*显示出时间 
FormatDateTime( 'yyyy "年 "m "月 "d "日   "dddd   '+   'hh:mm:ss   AM/PM ',   Now); 
Year   :=   FormatDateTime( 'YYYY ',Date); 
Month   :=   FormatDateTime( 'MM ',Date); 
Day   :=   FormatDateTime( 'DD ',Date); 

//================================================================== 
*TDateTime     TDate   类 

Now   返回当前日期及时间   
Date   返回当前日期   
Time   返回当前时间   
DateTimeToStr   按缺省格式将日期和时间值转换为字符串;特定格式转换可用   FormatDateTime函数   
DateTimeToString   按缺省格式将日期和时间值拷贝到字符串缓冲区   
DateToStr   将TDateTime值的日期部分转为字符串   
TimeToStr   将TDateTime值的时间部分转为字符串   
FormatDateTime   按特定格式将日期和时间值转换为字符串   
StrToDateTime   将带有日期和时间信息的字符串转换为TdateTime类型值,如串有误将引发一个异常   
StrToDate   将带有日期信息的字符串转换为TDateTime类型格式   
StrToTime   将带有时间信息的字符串转换为TDateTime类型格式   
DayOfWeek   根据传递的日期参数计算该日期是一星期中的第几天   
DecodeDate   根据日期值返回年、月、日值   
DecodeTime   根据时间值返回时、分、秒、毫秒值   
EncodeDate   组合年、月、日值为TDateTime类型值   
EncodeTime   组合时、分、秒、毫秒值为TDateTime类型值   
//=============================================================


procedure TForm1.FormCreate(Sender: TObject);//窗体初始化
var
  iFileHandle: 
Integer;
  FileTime:TDateTime;
  Days:
Integer;
  Hours:
Integer;
  Minutes:
Integer;
  Seconds:
Integer;
begin
  DataPath :
= ExtractFilePath(paramstr(0))+'data';
  if FileExists(DataPath+'Local.rar') then
  begin
    iFileHandle:
=FileOpen(DataPath+'LocalDataBase.rar', fmOpenRead);
    FileTime := FileDateToDateTime(FileGetDate(iFileHandle));
    FileClose(iFileHandle);
       Days := DaysBetween(now,FileTime);
       Hours:=HoursBetween(now,FileTime)-(Days * 24);
       Minutes := MinutesBetween(now,FileTime)-((Days * 24 + Hours) * 60);
       Seconds := SecondsBetween(now,FileTime)-(((Days * 24 + Hours)*60+Minutes) * 60);
    Label1.Caption:='最后修改时间:'+
    IntToStr(Days)+' 天'+
    IntToStr(Hours)+' 小时'+
    IntToStr(Minutes)+' 分'+
    IntToStr(Seconds)+' 秒之前';
  end;
end;

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值