奇怪的文件创建时间戳

本文关键字:时间戳 文件创建 | 更新日期: 2023-09-27 18:02:32

我使用FileInfo.Create()方法创建了许多文件,然后过了一段时间后,我查找在该日期创建的所有文件。

oCurrentFile 
    = new FileInfo(oFileRegion.Directory.FullName + "''" + _traceFilePrefix 
                    + sIdentifier + "_" + DateTime.Now.ToString("yyyy-MM-dd-HH-mm-ss.ffff") + _traceFileExt);
FileStream fs = oCurrentFile.Create(); fs.Close();

这工作很好几天!最近,我试图收集昨天创建的所有文件。

IEnumerable<FileInfo> oldFiles =
    (from oldFile in oldFiles
    where oldFile.CreationTime.DayOfYear == DateTime.Now.Substract(new TimeSpan(1,0,0,0).DayOfYear
    orderby oldFile.CreationTime ascending
    select oldFile)

当我使用.Count()查找文件数量时,惊喜很大:0.

所以我检查了为什么没有找到任何文件,并注意到,我所有的文件都有以下创建日期:

01.01.1601 00:00:00.000

搞什么鬼?是什么导致了这种奇怪的行为?为什么Windows会莫名其妙地停止获取创建日期?

奇怪的文件创建时间戳

对于FileInfo认为不存在的文件,我有相同的行为。确保文件存在,并且它是在FileInfo对象之前创建的。否则,您需要调用FileInfo. refresh(),以便更新FileInfo对象中的状态数据。