2017-08-04 15 views
0

我想在特定小時後選擇並重新分配數據表。我使用下面的代碼;從數據表中選擇具體日期

dtMasterPivot = dtMasterPivot.AsEnumerable().Where(x => x.Field<DateTime>("SAMPLE_TIME").Hour >= 4).CopyToDataTable(); 

像上面我想要什麼04:00後,僅在選擇數據。但是,它不起作用。它仍然帶來之前的04:00。

+0

看看[如何創建一個最小,完整和可驗證的示例](https://stackoverflow.com/help/mcve) –

+0

其他語句在哪裏工作? – EpicKip

+0

@EpicKip是的,一切正常。 –

回答

0

這像宣傳的那樣:

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小時制?

+0

「你在做什麼工作」應該是一個評論 – EpicKip

相關問題