格式化时间(HH:MM:SS)

Bri*_*ian 1 vb.net string formatting time date

我正在从Numeric Ups和Downs获取小时,分钟和秒的值.

问题是,例如,如果时间例如是上午9点15分,它将显示为9:15:0

我想要做的就是格式化它们,这样如果任何值(小时,分钟或秒)小于10,它将在数字前加0,这样数字显示为09:15:00.

我尝试的是这个,但它不起作用:

Sub BtnSetClick(sender As Object, e As EventArgs)

        lbl8.Visible = True

        Dim nmTime As String = nmHour.Value.ToString + nmMin.Value.ToString + nmSec.Value.ToString



        lblST.Text.Format(nmTime.ToString, "HH:MM:SS")


        lblST.Text = (nmTime)

        lblST.Visible = True

    End Sub
Run Code Online (Sandbox Code Playgroud)

Han*_*son 10

通过将所有内容多次转换为字符串,您似乎有点落后,尝试这样的事情:

Dim ts As new TimeSpan(CInt(nmHour.Value), CInt(nmMin.Value), CInt(nmSec.Value))
lblST.Text = ts.ToString("HH:MM:SS")
Run Code Online (Sandbox Code Playgroud)

TimeSpan.ToString的文档很有用.

编辑:更新了代码以反映Tim关于数据类型的注释.