datatable里如何筛选这样的数据

时间:2022-09-23 08:13:34
有这样一个datatable表tb

                   time      
2015-4-16  19:46:45
2015-4-16  19:47:45
2015-4-16  20:47:45

我就只抽这么一列出来,我想对这个表的time进行筛选,筛选条件是2015-4-16  19:47:45这个时间点前半个小时,和后半个小时之间的数据,还有数据类型是string类型的,想了半天不知道怎么在tb.Select("")里加条件,求大神帮助

6 个解决方案

#1



DateTime now = Convert.ToDateTime('2015-4-16  19:47:45');
var query=from t in dt.AsEnumerable()
          where t.Field<DateTime>("time") <= now.AddMinutes(30) or  t.Field<DateTime>("time")  >= now.AddMinutes(-30)
  select t;



盲敲的,可能有错误

#3


or 和后面的句子不对,编译器报错

#4


我把or改成了||通过了,但是报“指定的转换无效”,有可能是哪里的原因?

#5


DataTable.select("time between '时间1' and ‘时间2’ ")

#6


这个可以这样

 DataView dv2 = new DataView(dt_bin);
            dv2.RowFilter = "time>='" + time..AddHours(0.5)+ "' and  time<='"  + time..AddHours(-0.5)+  "'";
            DataTable dt_show = dv2.ToTable();

#1



DateTime now = Convert.ToDateTime('2015-4-16  19:47:45');
var query=from t in dt.AsEnumerable()
          where t.Field<DateTime>("time") <= now.AddMinutes(30) or  t.Field<DateTime>("time")  >= now.AddMinutes(-30)
  select t;



盲敲的,可能有错误

#2


#3


or 和后面的句子不对,编译器报错

#4


我把or改成了||通过了,但是报“指定的转换无效”,有可能是哪里的原因?

#5


DataTable.select("time between '时间1' and ‘时间2’ ")

#6


这个可以这样

 DataView dv2 = new DataView(dt_bin);
            dv2.RowFilter = "time>='" + time..AddHours(0.5)+ "' and  time<='"  + time..AddHours(-0.5)+  "'";
            DataTable dt_show = dv2.ToTable();