我有一个时间表应用程序,可以显示给定时间段内工作了多少小时。效果很好,但是当我想显示工作的总小时数时,会在工作24小时后向我显示此格式:1.01:06:16。我需要将其转换为以下格式:25:06:16。我进行搜索,但仅找到其他所有转换,但没有找到我需要的转换。“时间跨度”表的格式为TIME。这是我的代码:
ConnectionStringSettings conSettings = ConfigurationManager.ConnectionStrings["shopmanagerConnectionString1"];
MySqlConnection con = new MySqlConnection(conSettings.ToString());
MySqlCommand cmd = new MySqlCommand(@"select timespan as 'Temps' from shopmanager.time_sheet where project_number = @project_number and users_employee_number = @users_employee_number and week_number = @week_number;", con);
cmd.Parameters.AddWithValue("@project_number", username.default_project);
cmd.Parameters.AddWithValue("@users_employee_number", username.user_id);
cmd.Parameters.AddWithValue("@week_number", GetWeekNumber());
DataTable dt = new DataTable();
MySqlDataAdapter da = new MySqlDataAdapter(cmd);
da.Fill(dt);
object sum;
sum = dt.Compute("Sum(Temps)", "");
textBox1.Text = sum.ToString();
cmd.Parameters.Clear();
这是我的新手,我似乎无法弄清楚。如果有人可以帮助我,那就太好了。
谢谢
答案 0 :(得分:-1)
我发现了怎么做。这是最终代码:
object sum;
sum = dt.Compute("Sum(Temps)", "");
TimeSpan time = TimeSpan.Parse(sum.ToString());
string timeForDisplay = (int)time.TotalHours + time.ToString(@"\:mm\:ss");
textBox1.Text = timeForDisplay;
那很好用。