SOMAR HORAS HH:MM
Olá pessoal,
Tenho tres textbox com hora e minutos
Text1 = [Ô]03:30[Ô]
Text2 = [Ô]30:45[Ô]
Text3 = [Ô]10:00[Ô]
Como faço para somar e dar como resultado: Text4 = [Ô]44:15[Ô]
Aproveitando o mesmo topico e para somar tres colunas com esses valores no SQL server logicamente colocando o resultado em um quarto campo
Grato
Tenho tres textbox com hora e minutos
Text1 = [Ô]03:30[Ô]
Text2 = [Ô]30:45[Ô]
Text3 = [Ô]10:00[Ô]
Como faço para somar e dar como resultado: Text4 = [Ô]44:15[Ô]
Aproveitando o mesmo topico e para somar tres colunas com esses valores no SQL server logicamente colocando o resultado em um quarto campo
Grato
https://social.msdn.microsoft.com/Forums/sqlserver/pt-BR/16a9a3bb-79e1-4a57-b414-42f1289a56e8/como-somar-horas-no-sql-server-?forum=transactsqlpt
dá uma olhada nisso
dá uma olhada nisso
Está aà a quem interessar, meio POG mas resolveu
Public Function SomaHoraMinutos(Hora1, Hora2) [ô]Formato hh:mm
Dim Minutos As Single = CInt(Strings.Right(Hora1, 2)) + CInt(Strings.Right(Hora2, 2))
Return Str(CInt(Strings.Left(Hora1, InStr(Hora1, [Ô]:[Ô]) - 1)) + CInt(Strings.Left(Hora2, InStr(Hora2, [Ô]:[Ô]) - 1)) +
Int(Minutos / 60)) + [Ô]:[Ô] + Strings.Right([Ô]00[Ô] & Trim(Str(Minutos - IIf(Minutos < 60, 0, 60))), 2)
End Function
Public Function SomaHoraMinutos(Hora1, Hora2) [ô]Formato hh:mm
Dim Minutos As Single = CInt(Strings.Right(Hora1, 2)) + CInt(Strings.Right(Hora2, 2))
Return Str(CInt(Strings.Left(Hora1, InStr(Hora1, [Ô]:[Ô]) - 1)) + CInt(Strings.Left(Hora2, InStr(Hora2, [Ô]:[Ô]) - 1)) +
Int(Minutos / 60)) + [Ô]:[Ô] + Strings.Right([Ô]00[Ô] & Trim(Str(Minutos - IIf(Minutos < 60, 0, 60))), 2)
End Function
Public Function SomaHoraMinutos(Hora1 As String, Hora2 As String) As String
Dim h1 As New TimeSpan(Split(Hora1, [Ô]:[Ô])(0), Split(Hora1, [Ô]:[Ô])(1), 0)
Dim h2 As New TimeSpan(Split(Hora2, [Ô]:[Ô])(0), Split(Hora2, [Ô]:[Ô])(1), 0)
Dim t As TimeSpan = h1 + h2
Return String.Format([Ô]{0}:{1}[Ô], CInt(Math.Truncate(t.TotalHours)), t.Minutes)
End Function
JCM0867, a rotina que você fez até pode ter funcionado e vai funcionar para vários casos, mas ela não é nem de perto segura. Sugiro que use a solução do JABA, Muito mais segura e correta. E uma dica, é aprender a usar os tipos corretos de dados. Tente não usar tudo como string.
Beleza, mas um detalhe
Um resultado é [Ô]15:02[Ô] fica 15:2
onde altero para para que fique [Ô]15:02[Ô]?
Claro que poderia fazer um tratamento da string final
Um resultado é [Ô]15:02[Ô] fica 15:2
onde altero para para que fique [Ô]15:02[Ô]?
Claro que poderia fazer um tratamento da string final
Citação:Beleza, mas um detalhe
Um resultado é [Ô]15:02[Ô] fica 15:2
onde altero para para que fique [Ô]15:02[Ô]?
Public Function SomaHoraMinutos(Hora1 As String, Hora2 As String) As String
Dim h1 As New TimeSpan(Split(Hora1, [Ô]:[Ô])(0), Split(Hora1, [Ô]:[Ô])(1), 0)
Dim h2 As New TimeSpan(Split(Hora2, [Ô]:[Ô])(0), Split(Hora2, [Ô]:[Ô])(1), 0)
Dim t As TimeSpan = h1 + h2
Return String.Format([Ô]{0:D2}[Ô], CInt(Math.Truncate(t.TotalHours))) & String.Format([Ô]:{0:D2}[Ô], t.Minutes)
End Function
JABA funcionou 100%
Eu até achei exemplos na internet usando TimeSpan, mas não entendi nada.
Agora clareou as idéias de como funciona o TimeSpan
Valeu
Valeu tb a dica KERPLUNK
Eu até achei exemplos na internet usando TimeSpan, mas não entendi nada.
Agora clareou as idéias de como funciona o TimeSpan
Valeu
Valeu tb a dica KERPLUNK
Tópico encerrado , respostas não são mais permitidas