如何检查过去x小时内是否创建了文件?像23小时等。使用C#3.0。
注意:如果我现在创建文件,这也必须有效,那么该文件将是几秒钟而不是一个小时。
答案 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
}