我想从目录中获取两个日期之间创建的文件。日期由两个DateTimePickers选择。
示例(用户可选):
datetimerpicker1 = "15/09/2015";
datetimerpicker2 = "05/10/2015";
我把它作为var
var dataInicio = dataInicial.Value;
var dataFim = dataFinal.Value;
string entradaDeDiretorio = @"C:\\";
DirectoryInfo diretorioDeEntrada = new DirectoryInfo(entradaDeDiretorio);
if (dataInicio != dataFim)
{
foreach (var arquivos in diretorioDeEntrada.GetFiles().Where(f => f.CreationTime >= dataInicio && f.CreationTime <= dataFim))
{
// call the function
}
}
else
{
foreach (var arquivos in diretorioDeEntrada.GetFiles().Where(f => f.CreationTime == dataInicio && f.CreationTime == dataFim))
{
// call the function
}
}
答案 0 :(得分:1)
如果您尝试在某个日期范围内从目录中获取文件,请尝试以下操作:
var directory = new DirectoryInfo(your_dir);
var files = directory.GetFiles()
.Where(file => file.LastWriteTime >= DateTimePicker1
&& file.LastWriteTime <= datetimerpicker2);
编辑1: 如果两个datepicker的值相同,您只需查询datepicker的日期值,而不是查询范围
if(dataInicio != dataFim)
(var arquivos in diretorioDeEntrada.GetFiles().Where(f => f.CreationTime >= dataInicio && f.CreationTime <= dataFim));
else
(var arquivos in diretorioDeEntrada.GetFiles().Where(f => f.CreationTime == dataInicio));