Jim*_*iel 3 .net c# delphi datetime
我正在将一个Delphi应用程序移植到C#,我遇到了一个问题.Delphi应用程序将时间记录到日志文件中,然后将其读回程序.但它记录的时间格式让我困惑.我找不到.Net库来正确转换它.
Delphi在日志文件中记录时间:976129709(在Delphi代码中将其转换为1/14/2009 5:53:26 PM)
//Here is the Delphi code which records it:
IntToStr(DirInfo.Time);
//Here is the Delphi code which reads it back in:
DateTimeToStr(FileDateToDateTime(StrToInt(stringTime));
Run Code Online (Sandbox Code Playgroud)
任何人都有任何想法如何在.Net中读到这个?
Jon*_*cto 13
Delphi的TSearchRec.Time格式是旧的DOS 32位日期/时间值.据我所知,它没有内置的转换器,所以你必须写一个.例如:
public static DateTime DosDateToDateTime(int DosDate)
{
Int16 Hi = (Int16)((DosDate & 0xFFFF0000) >> 16);
Int16 Lo = (Int16)(DosDate & 0x0000FFFF);
return new DateTime(((Hi & 0x3F00) >> 9) + 1980, (Hi & 0xE0) >> 5, Hi & 0x1F,
(Lo & 0xF800) >> 11, (Lo & 0x7E0) >> 5, (Lo & 0x1F) * 2);
}
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
3505 次 |
最近记录: |