В настоящее время я получаю имена файлов в зависимости от времени создания файла ...
я хочу получить все файлы с 10.02.2011 по 02.11.2011 (сегодняшняя дата) (разница 30 дней)
(т.е.) я хочу получить имена файлов из (today day - 30 days
)
и я хочу получить имена файлов из (today day -90 days
)
для этого я так и сделал ....
private void filteringFiles()
{
string filenamepath = @"C:\defualt\Access\backupdb\";
List<String> listfiles = Directory.GetFiles(@"C:\defualt\Access\backupdb\", "backup-*.zip").ToList();
List<String> files = new List<String>();
List<String> getfiles = new List<String>();
foreach (var allfiles in listfiles)
{
files.Add(Path.GetFileName(allfiles));
//DateTime creationtime = File.GetCreationTime(files);
}
if (cbbackupforms.Text == "Month")
{
getfiles = (from string s in files where (DateTime.Now.Day - Convert.ToInt32(File.GetCreationTime(Path.Combine(filenamepath, s)).AddDays(-30)) < 1) && (DateTime.Now.Year - File.GetCreationTime(Path.Combine(filenamepath, s)).Year == 0) select s).ToList();
}
if (cbbackupforms.Text == "3 Months")
{
getfiles = (from string s in files where (DateTime.Now.Day - Convert.ToInt32(File.GetCreationTime(Path.Combine(filenamepath, s)).AddDays(-90)) < 3) && (DateTime.Now.Year - File.GetCreationTime(Path.Combine(filenamepath, s)).Year == 0) select s).ToList();
}
if (cbbackupforms.Text =="6 Months")
{
getfiles = (from string s in files where (DateTime.Now.Day - Convert.ToInt32(File.GetCreationTime(Path.Combine(filenamepath, s)).AddDays(-180)) < 6) && (DateTime.Now.Year - File.GetCreationTime(Path.Combine(filenamepath, s)).Year == 0) select s).ToList();
}
if (cbbackupforms.Text == "year")
{
getfiles = (from string s in files where ((DateTime.Now.Month - File.GetCreationTime(Path.Combine(filenamepath, s)).Month) < 12) select s).ToList();
}
listbackups.DataSource = getfiles;
}
но я получил ошибку в этой строке
(DateTime.Now.Year - File.GetCreationTime(Path.Combine(filenamepath, s)).Year == 0) select s)
вот так ...
ERROR:{"Invalid cast from 'DateTime' to 'Int32'."}
Может ли кто-нибудь помочь с этим ...
Большое спасибо заранее ...
ОБНОВЛЕНИЕ: Я все еще получаю такую же ошибку, как эта ...
ERROR:{"Invalid cast from 'DateTime' to 'Int32'."}
в этой строке
getfiles = (из строки s в файлах где (DateTime.Now.Day - Convert.ToInt32 (File.GetCreationTime (Path.Combine (filenamepath, s)). AddDays (-30)) <1) && ((DateTime.Now.Year - (File.GetCreationTime (Path.Combine (путь к файлу, s))). Year) == 0) выберите s) .ToList (); </strong>