检查是否在最近X小时内创建了文件

时间:2009-07-13 12:27:57

标签: c#

如何检查过去x小时内是否创建了文件?像23小时等。使用C#3.0。

注意:如果我现在创建文件,这也必须有效,那么该文件将是几秒钟而不是一个小时。

5 个答案:

答案 0 :(得分:11)

像这样......

        FileInfo fileInfo = new FileInfo(@"C:\MyFile.txt"));
        bool myCheck = fileinfo.CreationTime > DateTime.Now.AddHours(-23); 

答案 1 :(得分:10)

使用:

System.IO.File.GetCreationTime(filename);

要获取文件的创建时间,请参阅GetCreationTime以获取更多详细信息和示例。

然后你可以做类似的事情:

public bool IsBelowThreshold(string filename, int hours)
{
     var threshold = DateTime.Now.AddHours(-hours);
     return System.IO.File.GetCreationTime(filename) <= threshold;
}

答案 2 :(得分:6)

您可以使用File.GetCreationTime并与当前时间进行比较:

private static bool IsFileOlder(string fileName, TimeSpan thresholdAge)
{
    return (DateTime.Now - File.GetCreationTime(fileName)) > thresholdAge;
}

// used like so:
// check if file is older than 23 hours
bool oldEnough = IsFileOlder(@"C:\path\file.ext", new TimeSpan(0, 23, 0, 0));
// check if file is older than 23 milliseconds
bool oldEnough = IsFileOlder(@"C:\path\file.ext", new TimeSpan(0, 0, 0, 0, 23));

答案 3 :(得分:2)

使用FileInfo类和CreationTime属性。

FileInfo fi = new FileInfo(@"C:\myfile.txt");
bool check = (DateTime.Now - fi.CreationTime).TotalHours < 23;

答案 4 :(得分:1)

    FileInfo fi = new FileInfo("c:\\file.txt");
    if (fi.CreationTime.AddHours(23) >= DateTime.Now)
    {
        //created within the last 23 hours
    }