我想在特定时间之后选择并重新分配数据表。我使用下面的代码;
dtMasterPivot = dtMasterPivot.AsEnumerable().Where(x => x.Field<DateTime>("SAMPLE_TIME").Hour >= 4).CopyToDataTable();
如上所述我只想在04:00之后选择数据。但是,它不起作用。它仍然在04:00之前带来。
答案 0 :(得分:-1)
这与宣传的一样:
class Program
{
static void Main(string[] args)
{
var dT = new DataTable();
dT.Columns.Add("Id", typeof(int));
dT.Columns.Add("Sample_Time", typeof(DateTime));
dT.Columns.Add("Misc", typeof(string));
var row = dT.NewRow();
row[0] = 1;
row[1] = new DateTime(2017, 8, 3, 15, 15, 0);
row[2] = "3:15 PM";
dT.Rows.Add(row);
row = dT.NewRow();
row[0] = 2;
row[1] = new DateTime(2017, 8, 3, 3, 59, 0);
row[2] = "3:59 AM";
dT.Rows.Add(row);
row = dT.NewRow();
row[0] = 3;
row[1] = new DateTime(2017, 8, 3, 12, 0, 0);
row[2] = "Noon";
dT.Rows.Add(row);
dT = dT.AsEnumerable().Where(x => x.Field<DateTime>("Sample_Time").Hour >= 4).CopyToDataTable();
for (int i = 0; i < dT.Rows.Count; i++)
{
Console.WriteLine((string)dT.Rows[i][2]);
}
Console.ReadKey();
}
}
真的很傻,但你确定你的字段名称吗?还有你是否使用12/24小时?