所以我有一个文件..
var myFile = C:\docs\MyFile.pptx
当我注意到
时FileInfo fi = new FileInfo(myfile);
var lastModified = fi.LastWriteTime;
和
var lastModified = File.GetLastWriteTimeUtc(myFile);
返回不同的值。为什么是这样? FileInfo
值对应于Windows资源管理器“修改日期”列中显示的值。他们为什么不同?我希望他们能够返回完全相同的值。
答案 0 :(得分:1)
我实际上检查了Reflector中的代码,它们都做了完全相同的事情,即:
return DateTime.FromFileTimeUtc((long) data.ftLastWriteTimeHigh << 32 | (long) data.ftLastWriteTimeLow);
VS
return DateTime.FromFileTimeUtc((long) this._data.ftLastWriteTimeHigh << 32 | (long) this._data.ftLastWriteTimeLow);
我也测试了它,日期是一样的。您必须意外地将Utc与非Utc函数进行比较。