amigos quiero saber como hacer para que si en una variable tengo la hora en alguno de los siguientes formatos 13:45 o 2:5(que significa 2:05) pasarlos al formato normal de hora para mostrarlos en un label. he intentado con el sig. codigo pero falla
Dim ton, toff As String
Dim ton1 As Long
apuntador=sql1.ExecQuery("SELECT * FROM datos_aparatos")
apuntador.Position=0
ton=apuntador.GetString("ton")
DateTime.TimeFormat="hh:mm tt" falla aqui
ton1=DateTime.TimeParse(ton) y aqui
ToastMessageShow(DateTime.Time(ton1),True) y aqui
las "tt" no existen para ese formato, ademas tendrias que anteponerle dos puntos si quisieras segundos (hh:mm:ss)
Por otro lado si lo que pretendes es que te formatee las 2:5 por 02:05, con eso tampoco lo vas a conseguir
Prueba esto que te formateará como tu quieres manteniendo lo tuyo, si en ton tienes la hora en formato 2:5 por ejemplo
B4X:
ton = "2:5"
DateTime.TimeFormat = "hh:mm"
ton1 = DateTime.TimeParse(ton) ' devuelve ticks
ToastMessageShow(FormatearHora(ton1),True)
Sub FormatearHora (HoraIn As Long)
' pongo la hora en formato hh:mm:ss con 0 (ceros) para redondear
Dim Hora As String
Hora = NumberFormat(DateTime.GetHour(HoraIn),2,0) & ":" & NumberFormat(DateTime.GetMinute(HoraIn),2,0) & ":" & NumberFormat(DateTime.GetSecond(HoraIn),2,0)
Return Hora
End Sub