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?我无法复制这个。为什么要将日期时间转换为字符串,然后进行比较?我想这很管用——只是草率而已。这怎么会偏离主题呢?