Usuário com melhor resposta
SOMANDO HORAS COM MAIS DE 1 DIA

Pergunta
-
<<<<< VISUAL BASIC 6.0 >>>>>>
Amigos, boa tarde.. estou criando um sistema para estacionamento e estou batendo a cabeça para calcular horas....
Exemplo: Para veiculos entrando no patio em um dia e hora, tudo bem, consigo fazer normalmente o sistema calcular o nr. de horas que o veiculo ficou no patio.. o meu problema está quando vira MEIA NOITE e inicia novo dia/data e se perde no calculo.
EXEMPLO:veiculo entrou no patio as 22:00 e lá permaneceu até as 8:00 do dia seguinte....
O sistema está calculando o numero de horas até meia noite e dá o numero de horas das 22:00 as 23:59 certinho, no entanto virou 0:00 (MEIA NOITE E VIROU A DATA), ele está contando a hora a partir das 00:00 e ignornando as 2 horas que que o veiculo ficou no dia anterior (das 22:00 as 23:59... Teria que somar as horas do dia anterior e as horas do novo dia/data que virou ... alguem sabe como faço esse calculo ?
Estou usando esse codigo abaixo:
If ENTROU.Text <> "" Then
DIA1 = Format(ENTROU.Text, "DD/MM/YYYY")
End If
DIA2 = Format(Date, "DD/MM/YYYY")
FICOU.Caption = Format(TimeValue(HENTROU) - TimeValue(HORASAI), "hh:mm")Fico agradecido.
- Editado NTWSISTEMAS quarta-feira, 17 de outubro de 2018 16:08
Respostas
-
Dê uma olhada neste link tem muitas funções de cálculos de tempo em vb6:
http://www.macoratti.net/vb_datas.htm
Sucesso!
- Marcado como Resposta NTWSISTEMAS quarta-feira, 17 de outubro de 2018 17:01
Todas as Respostas
-
Olá Programador,
Vê no meu exemplo o método que uso para calcular as horas no caso do género e pode adaptar ele nas tuas circunstâncias:
Private Sub CalculaHora()
Dim horaEntrada As TimeSpan = TimeSpan.Parse(TextBox3.Text)
Dim horaSaida As TimeSpan = TimeSpan.Parse(TextBox4.Text)
Dim horaTotal As TimeSpan
Dim horaDia As TimeSpan = New TimeSpan(24, 0, 0)
horaTotal = horaSaida.Subtract(horaEntrada)
If horaTotal.TotalHours < 0 Then
horaTotal = horaTotal.Add(horaDia)
End If
Label1.Text = horaTotal.ToString()
End SubSe te ajudou vota como útil e marque a resposta.
-
-
-
Dê uma olhada neste link tem muitas funções de cálculos de tempo em vb6:
http://www.macoratti.net/vb_datas.htm
Sucesso!
- Marcado como Resposta NTWSISTEMAS quarta-feira, 17 de outubro de 2018 17:01
-
Achei aqui uma sequencia que me serviria mas tem um problema:
horas_trabalhadas= format((#17:00# - #09:00#) * 24, "#0.0")
? horas_trabalhadas & " horas
Nesta sequencia, eu gostaria de substituir o #17:00 pelo campo HORAENTRA.TEXT e o #09:00:00 pelo campo HORASAI.TEXT do FORM.. mas nao aceita.. alguém teria uma solução para esse impasse?
Obrigado !