W
winddeity
Unregistered / Unconfirmed
GUEST, unregistred user!
我写的一个同步文件,其中有一个功能就是判断源文件和目标文件的修改时间是否一致,如果不一致就重新拷贝。
以下函数获得文件的修改时间:
function UpdateTime(FilePath: string): extended;
var
FileHandle : Integer;
CreationTime, LastAccessTime, LastWriteTime: _FileTime;
SysTime: _SystemTime;
begin
FileHandle := FileOpen(FilePath, fmOpenRead);
GetFileTime(FileHandle, @CreationTime, @LastAccessTime, @LastWriteTime);
FileTimeToLocalFileTime(LastWriteTime, LastWriteTime);
FileTimeToSystemTime(LastWriteTime, SysTime);
result := SystemTimeToDateTime(SysTime);
FileClose(FileHandle);
end;
在拷贝本地文件到本地盘时,得到的两个文件修改时间完全一致;
可是我从局域网中拷贝文件到本地盘,
1. 这样得到的两个文件修改时间就有大概0到几秒的差异,
2. 拷贝不同文件差异还不一样。
3. 我也比较了这个差异不等于两台电脑的系统时间差。
请问这到底是因为我的程序有问题还是windows系统问题?有方法解决吗?
以下函数获得文件的修改时间:
function UpdateTime(FilePath: string): extended;
var
FileHandle : Integer;
CreationTime, LastAccessTime, LastWriteTime: _FileTime;
SysTime: _SystemTime;
begin
FileHandle := FileOpen(FilePath, fmOpenRead);
GetFileTime(FileHandle, @CreationTime, @LastAccessTime, @LastWriteTime);
FileTimeToLocalFileTime(LastWriteTime, LastWriteTime);
FileTimeToSystemTime(LastWriteTime, SysTime);
result := SystemTimeToDateTime(SysTime);
FileClose(FileHandle);
end;
在拷贝本地文件到本地盘时,得到的两个文件修改时间完全一致;
可是我从局域网中拷贝文件到本地盘,
1. 这样得到的两个文件修改时间就有大概0到几秒的差异,
2. 拷贝不同文件差异还不一样。
3. 我也比较了这个差异不等于两台电脑的系统时间差。
请问这到底是因为我的程序有问题还是windows系统问题?有方法解决吗?