Estoy tratando de hacer un programa simple para convertir el tiempo dado en segundos al formato hh: mm: ss. Pero para algunos valores de entrada particulares produce un formato de tiempo incorrecto. Esto es lo que he intentado:Programa para convertir el tiempo en segundos a formato hh: mm: ss
Public Class Form1
Dim Hours, Minutes, Seconds As Integer
Private Sub btnReset_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnReset.Click
lblHours.Text = "00"
lblMinutes.Text = "00"
lblSeconds.Text = "00"
txtTimeSeconds.Text = ""
txtFormattedTime.Text = ""
End Sub
Private Sub btnCalculate_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnCalculate1.Click
Seconds = Integer.Parse(txtTimeSeconds.Text)
Hours = Seconds/3600
Seconds = Seconds Mod 3600
Minutes = Seconds/60
Seconds = Seconds Mod 60
lblHours.Text = Hours.ToString.PadLeft(2, "0"c)
lblMinutes.Text = Minutes.ToString.PadLeft(2, "0"c)
lblSeconds.Text = Seconds.ToString.PadLeft(2, "0"c)
txtFormattedTime.Text = Hours.ToString.PadLeft(2, "0"c) & ":" & Minutes.ToString.PadLeft(2, "0"c) & ":" & Seconds.ToString.PadLeft(2, "0"c)
End Sub
End Class
Funciona cuando el valor de entrada es de 30:
No funciona cuando el valor de entrada es 31:
¿Qué he hecho mal? ¿Como puedo solucionar este problema?
Funciona. gracias –