to :zswang(伴水)(被黑中)

shadows 2001-12-28 08:50:00
//来个终结

procedure TForm1.Button1Click(Sender: TObject);
var
vSearchRec: TSearchRec;
LocalFileTime: TFileTime;
I: Integer;
begin
if FindFirst('autoexec.bat', faAnyFile, vSearchRec) = 0 then

FileTimeToLocalFileTime(vSearchRec.FindData.ftCreationTime, LocalFileTime);
FileTimeToDosDateTime(LocalFileTime, LongRec(I).Hi, LongRec(I).Lo);
Memo1.Lines.Values['创建时间'] := DateTimeToStr(FileDateToDateTime(I));

FileTimeToLocalFileTime(vSearchRec.FindData.ftLastAccessTime, LocalFileTime);
FileTimeToDosDateTime(LocalFileTime, LongRec(I).Hi, LongRec(I).Lo);
Memo1.Lines.Values['访问时间'] := DateTimeToStr(FileDateToDateTime(I));

FileTimeToLocalFileTime(vSearchRec.FindData.ftLastWriteTime, LocalFileTime);
FileTimeToDosDateTime(LocalFileTime, LongRec(I).Hi, LongRec(I).Lo);
Memo1.Lines.Values['修改时间'] := DateTimeToStr(FileDateToDateTime(I));
FindClose(vSearchRec);
end;

怎么样比较创建时间和修改时间差多少天?
...全文
91 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
shadows 2001-12-28
  • 打赏
  • 举报
回复
thanks
王集鹄 2001-12-28
  • 打赏
  • 举报
回复
//这段代码就是例子
//你在窗体上放个Memo即可

uses
DateUtils;

procedure TForm1.Button1Click(Sender: TObject);
var
vSearchRec: TSearchRec;
LocalFileTime: TFileTime;
I, J, K: Integer;
begin
if FindFirst('C:\autoexec.bat', faAnyFile, vSearchRec) = 0 then begin
FileTimeToLocalFileTime(vSearchRec.FindData.ftCreationTime, LocalFileTime);
FileTimeToDosDateTime(LocalFileTime, LongRec(I).Hi, LongRec(I).Lo);
Memo1.Lines.Values['创建时间'] := DateTimeToStr(FileDateToDateTime(I));

FileTimeToLocalFileTime(vSearchRec.FindData.ftLastAccessTime, LocalFileTime);
FileTimeToDosDateTime(LocalFileTime, LongRec(J).Hi, LongRec(J).Lo);
Memo1.Lines.Values['访问时间'] := DateTimeToStr(FileDateToDateTime(J));

FileTimeToLocalFileTime(vSearchRec.FindData.ftLastWriteTime, LocalFileTime);
FileTimeToDosDateTime(LocalFileTime, LongRec(K).Hi, LongRec(K).Lo);
Memo1.Lines.Values['修改时间'] := DateTimeToStr(FileDateToDateTime(K));

Memo1.Lines.Values['创建时间和修改时间差'] := IntToStr(Trunc(DaySpan(FileDateToDateTime(I), FileDateToDateTime(K))));
end;
FindClose(vSearchRec);
end;
王集鹄 2001-12-28
  • 打赏
  • 举报
回复
procedure TForm1.Button2Click(Sender: TObject);
begin
Caption := Format('%d',
[Trunc(StrToDateTime('2001-12-28 19:40:14') - StrToDateTime('2002-12-28 19:40:14'))]); //-365
end;
shadows 2001-12-28
  • 打赏
  • 举报
回复
给个例子好吗?
2001-12-28 19:40:14和2002-1-28 19:40:14
王集鹄 2001-12-28
  • 打赏
  • 举报
回复
procedure TForm1.Button1Click(Sender: TObject);
var
vSearchRec: TSearchRec;
LocalFileTime: TFileTime;
I, J, K: Integer;
begin
if FindFirst('C:\autoexec.bat', faAnyFile, vSearchRec) = 0 then begin
FileTimeToLocalFileTime(vSearchRec.FindData.ftCreationTime, LocalFileTime);
FileTimeToDosDateTime(LocalFileTime, LongRec(I).Hi, LongRec(I).Lo);
Memo1.Lines.Values['创建时间'] := DateTimeToStr(FileDateToDateTime(I));

FileTimeToLocalFileTime(vSearchRec.FindData.ftLastAccessTime, LocalFileTime);
FileTimeToDosDateTime(LocalFileTime, LongRec(J).Hi, LongRec(J).Lo);
Memo1.Lines.Values['访问时间'] := DateTimeToStr(FileDateToDateTime(J));

FileTimeToLocalFileTime(vSearchRec.FindData.ftLastWriteTime, LocalFileTime);
FileTimeToDosDateTime(LocalFileTime, LongRec(K).Hi, LongRec(K).Lo);
Memo1.Lines.Values['修改时间'] := DateTimeToStr(FileDateToDateTime(K));

Memo1.Lines.Values['创建时间和修改时间差'] := IntToStr(Trunc(DaySpan(FileDateToDateTime(I), FileDateToDateTime(K))));
// Memo1.Lines.Values['创建时间和修改时间差'] := IntToStr(Trunc(FileDateToDateTime(I) - FileDateToDateTime(K)));
end;
FindClose(vSearchRec);
end;
王集鹄 2001-12-28
  • 打赏
  • 举报
回复
//for Delphi6 DateUtils
{ Range spanning functions }
{ YearSpan and MonthSpan are approximates, not exact but pretty darn close }
function YearSpan(const ANow, AThen: TDateTime): Double;
function MonthSpan(const ANow, AThen: TDateTime): Double;
function WeekSpan(const ANow, AThen: TDateTime): Double;
function DaySpan(const ANow, AThen: TDateTime): Double;
function HourSpan(const ANow, AThen: TDateTime): Double;
function MinuteSpan(const ANow, AThen: TDateTime): Double;
function SecondSpan(const ANow, AThen: TDateTime): Double;
function MilliSecondSpan(const ANow, AThen: TDateTime): Double;

5,392

社区成员

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

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