如何客製化DataColumn的日期型態

如何客製化DataColumn的日期型態

下列程式碼為使用ADO.NET從北風資料庫讀取一個使用者資料表t3,其中c2的資料型態為DateTime。

 

   1:  SqlConnectionStringBuilder scsb = new SqlConnectionStringBuilder();
   2:  scsb.DataSource = ".";
   3:  scsb.InitialCatalog = "Northwind";
   4:  scsb.IntegratedSecurity = true;
   5:  using (SqlConnection con = new SqlConnection(scsb.ToString()))
   6:  {
   7:      using (SqlDataAdapter adapter = new SqlDataAdapter("select * from t3", con))
   8:      {
   9:          DataTable dt = new DataTable();
  10:          adapter.Fill(dt);
  11:          foreach (DataRow dr in dt.Rows)
  12:          {
  13:              Console.WriteLine(string.Format("c1={0},c2={1}", dr[0], dr[1]));
  14:          }
  15:      }
  16:  }
  17:  Console.Read();

 

假設輸出結果如下圖,若要將c2的結果改以【2011-01-01 01:02:03】的格式呈現,應該怎麼做?

image

只要將上述程式碼的第13列,改為下列的樣子即可,其原理是利用日期型態ToString方法的多載來進行日期型態的格式化,執行結果如下圖。

 Console.WriteLine(string.Format("c1={0},c2={1}", dr[0], DateTime.Parse(dr[1].ToString()).ToString("yyyy-MM-dd hh:mm:ss")));

image