Ho以小时为单位检索时间,例如28:15:00 hh:mm:ss在文本框中 [英] Ho to retrieve time in hours for example 28:15:00 hh:mm:ss in a textbox
本文介绍了Ho以小时为单位检索时间,例如28:15:00 hh:mm:ss在文本框中的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
如何将文本框值的格式更改为以小时为单位,例如在MS Excel[h]:mm:ss中如此,例如,如果此值为1.159722222并将其格式更改为[h ]:mm:ss在Excel中,显示的结果将是27:50:00,如果我使用另一种格式为h:mm:s的相同值,结果将完全不同于我想要的3:50:00
我的要求是让第一个输出27:50:00不是VB中的第二个
我尝试过:
私人 Sub Button1_Click_3(发件人作为 对象, e As EventArgs)句柄 Button1.Click
尝试
使用连接作为 OleDbConnection = CreateConnection()
使用 cmdSelect 作为 OleDbCommand = connection.CreateCommand()
cmdSelect.CommandText = SELECT Activity_Date,Staff_Name,Avaya_ID,Shift_Code,Login_Time,Logout_Time,Punctuality,Total_Calls, Avg_AHT,RONA,Held_Calls,Staff_Time,Staff_Time_Due,Aux_Break,Adherence FROM Agents_Daily_Productivity WHERE Staff_Name =?
cmdSelect.Parameters.AddWithValue( < span class =code-string> Staff_Name,Name_cbo.Text)
使用 da 正如 新 OleDbDataAdapter(cmdSelect)
Dim ds 作为 新 DataSet()
da.Fill(ds, Agents_Daily_Productivity)
DataGridView1 .DataSource = ds
DataGridView1.DataMember = Agents_Daily_Productivity
Lbl_RowCount.Text = DataGridView1.RowCount
结束 使用
结束 使用
使用 cmdSUM 作为 OleDbCommand = connection.CreateCommand()
cmdSUM.CommandText = SELECT SUM(准时)来自Agents_Daily_Productivity,其中Staff_Name ='& Name_cbo.Text& '
Dim SUMResult As Double =(cmdSUM.ExecuteScalar)
Dim PunTimeSpan As New TimeSpan(SUMResult)
Punctuality_txt.Text = Format ( CDate (日期 .FromOADate(SUMResult)), H:mm:ss)
结束 使用
' 格式化DataGridView时间
DataGridView1.Columns( Avg_AHT ).DefaultCellStyle.Format = HH:mm:ss
DataGridView1.Columns(< span class =code-string> Staff_Time)。DefaultCellStyle.Format = HH:mm:ss
DataGridView1.Columns( AUX_Break)。DefaultCellStyle.Format = HH:mm:ss
DataGridView1.Columns( Login_Time)。DefaultCellStyle.Format = hh:mm tt
DataGridView1.Columns( Logout_Time)。DefaultCellStyle.Format = hh:mm tt
DataGridView1.Columns( Staff_Time_Due)。DefaultCellStyle.Format = HH:mm:ss
DataGridView1.Columns( Adherence)。DefaultCellStyle.Format = HH:mm:ss
结束 使用
Catch ex As OleDbException
System.Diagnostics.Trace.TraceError (ex.ToString())
MessageBox.Show(ex.Message)
结束 尝试
结束 Sub
解决方案
您需要使用自己的自定义fomatter,请参阅在.NET Framework中格式化类型 [ ^ ]。
how to change the format of a text box value to be in hours for example to be like this in MS Excel "[h]:mm:ss" for example if have this value 1.159722222 and changed its format to "[h]:mm:ss" in Excel the displayed result will be 27:50:00 and if i used another format for the same value to h:mm:ss the result will be totally different than i wanted 3:50:00
My request is to have the 1st output "27:50:00" not the second in VB
What I have tried:
Private Sub Button1_Click_3(sender As Object, e As EventArgs) Handles Button1.Click
Try
Using connection As OleDbConnection = CreateConnection()
Using cmdSelect As OleDbCommand = connection.CreateCommand()
cmdSelect.CommandText = "SELECT Activity_Date, Staff_Name, Avaya_ID, Shift_Code, Login_Time, Logout_Time, Punctuality, Total_Calls, Avg_AHT, RONA, Held_Calls, Staff_Time, Staff_Time_Due, Aux_Break, Adherence FROM Agents_Daily_Productivity WHERE Staff_Name = ?"
cmdSelect.Parameters.AddWithValue("Staff_Name", Name_cbo.Text)
Using da As New OleDbDataAdapter(cmdSelect)
Dim ds As New DataSet()
da.Fill(ds, "Agents_Daily_Productivity")
DataGridView1.DataSource = ds
DataGridView1.DataMember = "Agents_Daily_Productivity"
Lbl_RowCount.Text = DataGridView1.RowCount
End Using
End Using
Using cmdSUM As OleDbCommand = connection.CreateCommand()
cmdSUM.CommandText = "SELECT SUM(Punctuality) FROM Agents_Daily_Productivity where Staff_Name = '" & Name_cbo.Text & "'"
Dim SUMResult As Double = (cmdSUM.ExecuteScalar)
Dim PunTimeSpan As New TimeSpan(SUMResult)
Punctuality_txt.Text = Format(CDate(Date.FromOADate(SUMResult)), "H:mm:ss")
End Using
'Formatting the DataGridView Time
DataGridView1.Columns("Avg_AHT").DefaultCellStyle.Format = "HH:mm:ss"
DataGridView1.Columns("Staff_Time").DefaultCellStyle.Format = "HH:mm:ss"
DataGridView1.Columns("AUX_Break").DefaultCellStyle.Format = "HH:mm:ss"
DataGridView1.Columns("Login_Time").DefaultCellStyle.Format = "hh:mm tt"
DataGridView1.Columns("Logout_Time").DefaultCellStyle.Format = "hh:mm tt"
DataGridView1.Columns("Staff_Time_Due").DefaultCellStyle.Format = "HH:mm:ss"
DataGridView1.Columns("Adherence").DefaultCellStyle.Format = "HH:mm:ss"
End Using
Catch ex As OleDbException
System.Diagnostics.Trace.TraceError(ex.ToString())
MessageBox.Show(ex.Message)
End Try
End Sub
解决方案
You need to use your own custom fomatter, see Formatting Types in the .NET Framework[^].
这篇关于Ho以小时为单位检索时间,例如28:15:00 hh:mm:ss在文本框中的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文