日期:2014-05-18  浏览次数:20795 次

求助datatable 赋值时间问题
DataTable dt = SendSgsWebBll.GetSgsTaskTime(int.Parse(hidTaskId.Value));
  for (int i = 0; i < dt.Rows.Count; i++)
  {
  String StartTime = dt.Rows[i]["StartTime"] + "";
  String EndTime = dt.Rows[i]["EndTime"] + "";
  //String a = StartTime.LastIndexOf("9", StartTime.Length)+"";
  String Stime = StartTime.Substring(9, StartTime.Length - 9);
  String Etime = EndTime.Substring(9, StartTime.Length - 9);
  // DateTime strdatetime = new DateTime();

  dt.Rows[i]["StartTime"] = Stime;
  dt.Rows[i]["EndTime"] = Etime;
  }
  DataView dv = dt.DefaultView;

PS:
DataTable dt =SendSgsWebBll.GetSgsTaskTime(int.Parse(hidTaskId.Value));
此处返回的是 TaskId BusinessId StartTime EndTime 
此时,StartTime EndTime的格式 如 1900/1/1 00:00:00 1900/1/1 23:59:59
我想此处StartTime EndTime只显示时间 如 00:00:00 23:59:59
但此方法写完后 dt中会变成 2012/2/9 00:00:00 2012/2/9 23:59:59
求各位高手指导

------解决方案--------------------
你这个可以如下
第一,直接substring取后面8个字符
第二,转为datatime,然后ToString("hh:mm:ss")
------解决方案--------------------
datatable创建时怎么定义的列 ? 字符串应该不会自动加上今天时间吧。
------解决方案--------------------
C# code

String EndTime = 
Convert.ToDateTime(dt.Rows[i]["EndTime"]).ToString("yyyy MM dd hh mm ss");