C#,需要获取文件创建时间

C#,需要获取文件创建时间,c#,.net,C#,.net,我对以下代码有一些问题: string today = DateTime.Now.ToShortDateString(); DirectoryInfo di = new DirectoryInfo(mySettings._TempDataStoragePath); FileInfo[] files = di.GetFiles(); foreach (FileInfo f in files) { string fileDate = f.CreationTime.ToShortDateSt

我对以下代码有一些问题:

string today = DateTime.Now.ToShortDateString();
DirectoryInfo di = new DirectoryInfo(mySettings._TempDataStoragePath);
FileInfo[] files = di.GetFiles();
foreach (FileInfo f in files) 
{
    string fileDate = f.CreationTime.ToShortDateString();                   
    if (fileDate.Equals(today)) 
    {
                    ...
    }
}
我遇到的问题是
f.CreationTime.ToShortDateString()返回的是今天的日期,而不是文件的实际创建日期

我需要能够检查真实的创作时间

我怀疑DirectoryInfo正在返回临时副本,而不是对真实内容的引用


如何获得真实的创建时间?

您可能会在操作系统中遇到一个名为的问题。
CreationFile
属性实际上是实际文件的创建文件,而不是临时文件。但是,返回的日期可能不准确,因为此信息缓存在操作系统中,因为应用程序通常会删除并添加同一文件,而不是更改它


在获取创建时间之前,在
FileInfo
上调用
Refresh
。这可能会有所帮助。

您可能会在操作系统中遇到一个名为的问题。
CreationFile
属性实际上是实际文件的创建文件,而不是临时文件。但是,返回的日期可能不准确,因为此信息缓存在操作系统中,因为应用程序通常会删除并添加同一文件,而不是更改它


在获取创建时间之前,在
FileInfo
上调用
Refresh
。这可能会有所帮助。

转到windows资源管理器,检查文件属性并验证
FileInfo.CreationTime
是否与属性窗口中的时间相同。应该是。如果是这样的话,那么毫无疑问,今天才创建这个文件。目录的文件系统格式是什么?NTFS?FAT?我无法复制这个。为什么要将日期时间转换为字符串,然后进行比较?我猜它可以工作-只是太草率了。这是怎么脱离主题的?转到windows资源管理器,检查文件属性并验证
FileInfo.CreationTime
是否与属性窗口中的时间相同。应该是。如果是这样的话,那么毫无疑问,今天才创建这个文件。目录的文件系统格式是什么?NTFS?FAT?我无法复制这个。为什么要将日期时间转换为字符串,然后进行比较?我想这很管用——只是草率而已。这怎么会偏离主题呢?