如何使用DateTimePickers从两个日期之间创建的目录中获取文件

时间:2016-06-11 23:55:05

标签: c# datetimepicker

我想从目录中获取两个日期之间创建的文件。日期由两个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                                        
            }
        }       

1 个答案:

答案 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));