gpt4 book ai didi

delphi - Delphi xe5 中文件日期返回错误

转载 作者:行者123 更新时间:2023-12-03 15:40:59 25 4
gpt4 key购买 nike

我使用一个简单的命令从文件中获取文件日期,但总是得到错误的日期。

在我的电脑上,我看到日期是 2014 年 3 月 14 日。但是当我运行命令时,我得到 30/12/1999,无论我尝试什么文件,它都保持相同的返回日期。

我已经尝试过

BackupFileDate:=FileAge(S);;
originalfiledate:=FileAge(fileName);

还有

BackupFileDate:=GetFileModDate(S);
originalfiledate:=GetFileModDate(Filename);

function GetFileModDate(filename : string) : TDateTime;
var
F : TSearchRec;
begin
FindFirst(filename,faAnyFile,F);
Result := F.TimeStamp;

//Result := F.Time;
FindClose(F);
end;

两者的结果相同。PS:BackupFileDate和originalfiledate现在都定义为TDate,我已经尝试过TDateTime,也得到了相同的结果。

我想获取文件上次编辑的日期和时间。

最佳答案

FileAge返回操作系统用来记录文件修改日期和时间等信息的时间戳。

您应该使用FileDateToDateTime函数将 Integer 值转换为更易于管理的 TDateTime 格式:

FileDateToDateTime(FileAge(fileName));

注意:

function FileAge(const FileName: string): Integer; overload;

已弃用。 FileAge 还有另一个版本

function FileAge(const FileName: string; out FileDateTime: TDateTime; FollowLink: Boolean = True): Boolean;

返回 FileDateTime 输出参数中 FileName 的时间戳。

FileAge(filename, timeDate);

编辑

根据数据的用途,它可能对convert from UTC to local time(非常)重要。 .

关于delphi - Delphi xe5 中文件日期返回错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22408714/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com