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
求各位高手指导
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")
DateTime EDt = DateTime.ParseExact(Etime, "HH:mm:ss", System.Globalization.CultureInfo.CurrentCulture); dt.Rows[i]["StartTime"] = SDt;
dt.Rows[i]["EndTime"] = EDt;
这个样子?
String EndTime =
Convert.ToDateTime(dt.Rows[i]["EndTime"]).ToString("yyyy MM dd hh mm ss");楼主,试试这样应该可以的
原来是表结构中StartTime 和 EndTime的数据类型是datatime
所以会自动赋值上时间
不改动数据库的情况下是这么写的 DataTable dt = SendSgsWebBll.GetSgsTaskTime(int.Parse(hidTaskId.Value)); DataTable Ndt = new DataTable(); for (int i = 0; i < dt.Columns.Count; i++)
{
DataColumn column = new DataColumn();
if (dt.Columns[i].DataType == typeof(DateTime))
{
column.DataType = typeof(String);
}
else
{
column.DataType = dt.Columns[i].DataType;
}
column.ColumnName = dt.Columns[i].ColumnName;
Ndt.Columns.Add(column);
}
for (int i = 0; i < dt.Rows.Count; i++)
{
DataRow dr = Ndt.NewRow();
for(int iColumn = 0;iColumn<dt.Columns.Count;iColumn++)
{
if (dt.Columns[iColumn].ColumnName == "StartTime" || dt.Columns[iColumn].ColumnName == "EndTime")
{
String time = dt.Rows[i][dt.Columns[iColumn].ColumnName].ToString();
String Stime = time.Substring(9, time.Length - 9);
dr[iColumn] = Stime;
}
else
{
dr[iColumn] = dt.Rows[i][iColumn].ToString();
}
} Ndt.Rows.Add(dr);
}
this.gv_TaskTime.DataSource = Ndt;
this.gv_TaskTime.DataBind();