将天/小时/分钟/秒转换为小时/分钟/秒

时间:2018-10-25 12:37:51

标签: c# mysql winforms

我有一个时间表应用程序,可以显示给定时间段内工作了多少小时。效果很好,但是当我想显示工作的总小时数时,会在工作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();

这是我的新手,我似乎无法弄清楚。如果有人可以帮助我,那就太好了。

谢谢

1 个答案:

答案 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;

那很好用。