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