Datagridview秒钟到hh:mm:ss [英] Datagridview coloumn seconds to hh:mm:ss

查看:101
本文介绍了Datagridview秒钟到hh:mm:ss的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述



在datagridview的其中一列中,以秒为单位显示的数据需要将其转换为HH:MM:SS,以下是我当前正在使用的代码.
请帮助

Hi,

in datagridview on one of the column the data''s are displayed in seconds need that to be converted to HH:MM:SS, below is the code which I am currently using.
Kindly help

DataSet ds = new DataSet();
            SqlDataAdapter da = new SqlDataAdapter();
            SqlCommand slctVendors = new SqlCommand("SELECT TRUSTID as 'TRUSTS', COUNT(JOBIDST)as 'JOBS', " +
                                        "CONVERT(char(8),DATEADD(second, sum(PLAYTIME),'00:00:00'), 108) " +
                                        " as 'DURATION', SUM(PLAYTIME) " +
                                        "FROM DCLIVEJOBS where PSTATUS < '95' GROUP BY TRUSTID", cn);
            da.SelectCommand = slctVendors;
            da.Fill(ds, "tblDclivejobs");
            dgViewJobs.DataSource = ds.Tables["tblDclivejobs"];
            int sum = 0;
            
            for (int i = 0; i < dgViewJobs.Rows.Count; ++i)
            {
                sum += Convert.ToInt32(dgViewJobs.Rows[i].Cells[1].Value);
                //sum += Convert.ToInt32(dgViewJobs.Rows[i].Cells[3].Value);
                //count = Convert.ToInt32(dataGridView1.Rows[i].Cells[2].Value);
            }
            int sum1 = 0;
            for (int j = 0; j < dgViewJobs.Rows.Count; ++j)
            {
                sum1 += Convert.ToInt32(dgViewJobs.Rows[j].Cells[3].Value);
                //count = Convert.ToInt32(dataGridView1.Rows[i].Cells[2].Value);
            }
            
            int x = dgViewJobs.Rows.Count;
            dgViewJobs.Rows[x - 1].Cells[0].Value = "Total".ToString();
            dgViewJobs.Rows[x - 1].Cells[1].Value = label5.Text = sum.ToString();
            dgViewJobs.Rows[x - 1].Cells[3].Value = label6.Text = sum1.ToString();
            
            label5.Text = sum.ToString();
            label6.Text = sum1.ToString();
            int secs = Convert.ToInt32(label6.Text);
            string du = string.Format("{0:00}:{1:00}:{2:00}",secs/3600,(secs/60)%60,secs%60);
            label7.Text = du;
            dgViewJobs.Rows[x - 1].Cells[2].Value = label7.Text;
            cn.Close();
            this.dgViewJobs.Columns[3].Visible = false;
            dgViewJobs.ClearSelection();
            foreach (DataGridViewColumn cl in dgViewJobs.Columns)
            {
                cl.SortMode = DataGridViewColumnSortMode.NotSortable;
            }

推荐答案


使用这个;
Hi,
Use this;
SELECT CONVERT(VARCHAR(26), GETDATE(), 109)
SELECT CONVERT(VARCHAR(24), GETDATE(), 113)
SELECT CONVERT(VARCHAR(12), GETDATE(), 114) AS [HH:MI:SS:MMM(24H)]
SELECT CONVERT(VARCHAR(19), GETDATE(), 120)
SELECT CONVERT(VARCHAR(23), GETDATE(), 121)
SELECT CONVERT(VARCHAR(23), GETDATE(), 126)
SELECT CONVERT(VARCHAR(26), GETDATE(), 130)
SELECT CONVERT(VARCHAR(25), GETDATE(), 131)


使用TimeSpan.FromSeconds
http://msdn.microsoft.com/en-us/library/system.timespan. fromseconds.aspx [ ^ ]
Use TimeSpan.FromSeconds
http://msdn.microsoft.com/en-us/library/system.timespan.fromseconds.aspx[^]


这篇关于Datagridview秒钟到hh:mm:ss的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆