Ho以小时为单位检索时间,例如28:15:00 hh:mm:ss在文本框中 [英] Ho to retrieve time in hours for example 28:15:00 hh:mm:ss in a textbox

查看:148
本文介绍了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屋!

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