什么是获得文件真正创建时间的万无一失的方法?

时间:2012-06-01 21:23:26

标签: c# date fileinfo

我需要知道我正在下载的文件何时创建或最后写入。只是日期是我所需要的(例如2011年6月17日)。通常,文件的日期可以通过其名称来显示,例如“DonQuixoteWasRight.2011-06-17.log”

问题是该文件可能有各种不同的命名格式,甚至可能不包含日期,例如“SanchoPanzaWasLeft.txt”

我想也许FileInfo类可以参与救援,但是使用这段代码:

FileInfo fInfo = new FileInfo(SelectedFileName);
//DateTime when = fInfo.CreationTime; //or CreationTimeUtc?
DateTime when = fInfo.LastWriteTime; //or LastWriteTimeUtc?
return when;

...它只返回我访问文件的时间(虽然我既没有创建它也没有明确写入它)。 CreationTime和LastWriteTime都不返回文件的真实CreationTime或LastWriteTime。有没有办法找出来?

2 个答案:

答案 0 :(得分:3)

听起来您正试图找出服务器上修改文件的时间。

除非服务器以某种方式明确地告诉你,否则无法找到它。

答案 1 :(得分:2)

没有真正的方法可以解决这个问题,无论文件是在服务器上还是在本地计算机上,因为用户可以更改上次修改日期和其他元数据。