目前我获取文件名的文件的创建时间取决于起来......无法获取文件名取决于文件的创建时间
我想是的,我想获得的所有文件从02/10/2011至02/11/2011(今天的日期)。(30天差)
(IE)我想从(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( (File.GetCreationTime(Path.Combine(filenamepath,s)))。Year)== 0)select s))AddDays(-30))< 1)& &((DateTime.Now.Year - .ToList();
乍一看,一切正常,但有一个原因你没有使用则DateDiff,并可能简化多个列表“s到一个列表? –
bryanjonker
我不知道如何在这种情况下使用thatiff ...你会请给这个任何示例片段.. – rockyashkumar