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));
![](https://i-blog.csdnimg.cn/blog_migrate/ca9b4b0705c67d84264c54519e50e82b.gif)
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;