当用FileAge获取文件整数时间表示后,要用FileDateToDateTime转化为本地时间,FileDateToDateTime是如何实现的呢?换句话说,就是FileAge获取文件整数时间是按什么规则表示的
解决方案 »
- 讨论:Delphi如何使用UPnP的自动端口映射功能?
- 关于用线程查询,请各位老大讲解????????????????
- 如何从SQL语句中提取出where条件!
- 如何捕获命令行输出的结果到到自已的Form中,在线等待?
- Indy的POP控件接收邮件的标题怎么会乱码?急,在线等待!
- delphi 如何将dbgrid数据导入到远程SQL服务器中?
- 我编完程序后,如何打包。
- 不好意思,问一个很菜的问题。要分的请进
- 请问怎样在Delphi中使用DirectX?怎样制作DirectX窗口?
- 一个关于ADOTABLE控件的一个问题,等着大家来救命!
- 开发一个调用IE的程序
- 如何得到一个字符串的16进制编码?
function FileDateToDateTime(FileDate: Integer): TDateTime;
{$IFDEF MSWINDOWS}
begin
Result :=
EncodeDate(
LongRec(FileDate).Hi shr 9 + 1980,
LongRec(FileDate).Hi shr 5 and 15,
LongRec(FileDate).Hi and 31) +
EncodeTime(
LongRec(FileDate).Lo shr 11,
LongRec(FileDate).Lo shr 5 and 63,
LongRec(FileDate).Lo and 31 shl 1, 0);
end;
{$IFDEF MSWINDOWS}
var
Year, Month, Day, Hour, Min, Sec, MSec: Word;
begin
DecodeDate(DateTime, Year, Month, Day);
if (Year < 1980) or (Year > 2107) then Result := 0 else
begin
DecodeTime(DateTime, Hour, Min, Sec, MSec);
LongRec(Result).Lo := (Sec shr 1) or (Min shl 5) or (Hour shl 11);
LongRec(Result).Hi := Day or (Month shl 5) or ((Year - 1980) shl 9);
end;
end;