2011-08-17 144 views
1

我從數字上升和下降的時間,分鐘和秒的數值。格式化時間(HH:MM:SS)

的問題是,例如,例如,如果時間是上午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 

回答

2

試試這個:

Sub BtnSetClick(ByVal sender As Object, ByVal e As EventArgs)   

    lbl8.Visible = True   
    Dim nmTime As String = nmHour.Value.ToString().PadLeft(2, '0') + nmMin.Value.ToString().PadLeft(2, '0') + nmSec.Value.ToString().PadLeft(2, '0')    

    lblST.Text = nmTime   
    lblST.Visible = True  
End Sub 
+0

這很好...謝謝! – Brian

+0

不要侮辱蒂姆,但你已經接受了錯誤的答案,ho1的答案是更好的方法。 – pingoo

+0

@ Rene147 - 根本沒有侮辱,只是事實陳述。我相信我在我的評論中對ho1的回答說了很多相同的話:) – Tim

10

你似乎在向後做一點點一切多次轉換爲字符串,嘗試這樣的事情:

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

TimeSpan.ToString的文檔很有用。

編輯:更新了代碼以反映Tim對數據類型的評論。

+0

根據MSDN比我的建議:) – Tim

+0

更整潔,'Value'是一個小數,所以是,OP需要轉換爲整數。 – Tim

1

嘗試使用TimeSpan對象,它應該做所有的辛勤工作爲您服務!

Dim nmTime As New TimeSpan(nmHour.Value, nmMin.Value, nmSec.Value) 

lblST.Text = nmTime.ToString 
lblST.Visible = True 
相關問題