Как проверить, был ли файл создан за последние х часов? например, 23 часа и т.д. Использование С# 3.0.
Примечание. Это также должно работать, если я создам файл сейчас, тогда файл будет секундой, а не часом.
Как проверить, был ли файл создан за последние х часов? например, 23 часа и т.д. Использование С# 3.0.
Примечание. Это также должно работать, если я создам файл сейчас, тогда файл будет секундой, а не часом.
Использование:
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;
}
Что-то вроде этого...
FileInfo fileInfo = new FileInfo(@"C:\MyFile.txt"));
bool myCheck = fileinfo.CreationTime > DateTime.Now.AddHours(-23);
Вы можете использовать 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));
Используйте FileInfo
класс и CreationTime
.
FileInfo fi = new FileInfo(@"C:\myfile.txt");
bool check = (DateTime.Now - fi.CreationTime).TotalHours < 23;
FileInfo fi = new FileInfo("c:\\file.txt");
if (fi.CreationTime.AddHours(23) >= DateTime.Now)
{
//created within the last 23 hours
}