首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 网站开发 > asp.net >

怎么让DirectoryInfo显示指定时间范围内的文件

2013-07-11 
如何让DirectoryInfo显示指定时间范围内的文件比如只显示创建时间在2012-1-1年至2013-1-1的文件,谢谢大侠

如何让DirectoryInfo显示指定时间范围内的文件
比如只显示创建时间在2012-1-1年至2013-1-1的文件,谢谢大侠们
找了很久,没找到方法


ICollection CreateDataSourceFile()
    {
        DataTable dtFile = new DataTable();
        DataRow dr;
        dtFile.Columns.Add("Name", typeof(string));

        dtFile.Columns.Add("LastWriteTime", typeof(DateTime));

        //得到此目录下所有文件名的字符串数组 
        DirectoryInfo dir = new DirectoryInfo(Server.MapPath("../Backup"));
        FileInfo[] flist = dir.GetFiles("*.bak");///限定读取该文件夹后缀为bak的文件
        
        foreach (FileInfo f in flist)
        {
            dr = dtFile.NewRow();
            dr[0] = f.Name;//文件名 
            dr[1] = f.LastWriteTime;//创建时间 
            dtFile.Rows.Add(dr);
        }
        DataView dvFile = new DataView(dtFile);
        
        dvFile.Sort = "LastWriteTime Desc";//按照时间排序 
        
        return dvFile;
    }
[解决办法]

            DataTable dtFile = new DataTable();
            DataRow dr;
            dtFile.Columns.Add("Name", typeof(string));

            dtFile.Columns.Add("LastWriteTime", typeof(DateTime));



            //得到此目录下所有文件名的字符串数组 
            DirectoryInfo dir = new DirectoryInfo(Server.MapPath("../Backup"));
            FileInfo[] flist = dir.GetFiles("*.bak");///限定读取该文件夹后缀为bak的文件

            foreach (FileInfo f in flist)
            {
                dr = dtFile.NewRow();
                dr[0] = f.Name;//文件名 
                dr[1] = f.LastWriteTime;//创建时间 
                dtFile.Rows.Add(dr);
            }

            DataTable newdt = new DataTable();
            newdt = dtFile.Clone();
            DataRow[] newDr = dtFile.Select("LastWriteTime >= '2012-1-1' and LastWriteTime <= '2013-1-1'");

            for (int i = 0; i < newDr.Length; i++)
            {
                newdt.ImportRow((DataRow)newDr[i]);

            }

            DataView dvFile = new DataView(newdt);

            dvFile.Sort = "LastWriteTime Desc";//按照时间排序 

            return dvFile;

热点排行