CALCULO HORAS

JOAO.SOARES 04/12/2006 16:34:41
#187905
estou desemvolvendo um programas de movimentos. e tenho que calcular horas.Tenho que calcular horas extras. Supomos que 1 horas custa 2,80 euros. e nao consigo obter o resultado de for 30 minutos que haviam de ser 1, 40 euros .so da este resultado se eu meter 50 minutos. Como resolvo isto ?[S38]
SILVIO.GARCIA 04/12/2006 16:40:33
#187908
Resposta escolhida
DÃÅ  uma olhada nesse link, faça uma pesquisa sobre o assunto antes de postar.T+

http://www.vbmania.com.br/vbmania/vbmdetail.php?varID=1033&TxtSearch=calculando%20hora&CmbSort=&varPagina=1
JOAO.SOARES 18/12/2006 08:37:33
#190531
Mas este link não tem nada a haver com isto
ALMARTI 18/12/2006 08:58:50
#190534
para este caso, você precisa de um retorno centesimal da diferenca de horas. Deve considerar também a data em questão:


Private Function TotalHora(hInicial As Date, Hfinal As Date) As Double

Dim h As Long, m As Double, s As Long

s = DateDiff("s", hInicial, Hfinal)

h = s / 3600
m = ((s - (h * 3600)) / 60) / 60

TotalHora = h + m

End Function


Neste exemplo que fiz aqui correndo, usei o formato "dd/mm/yyyy HH:MM:SS" para fazer o calculo. Por exemplo

MsgBox TotalHora(Txt_H_Inicial, Txt_H_Final)

LIONHEART 18/12/2006 10:59:42
#190574
Veja, o retorno é calculado na moeda que foi passada:
Msgbox ValorTempo("0:30", 2.80)



Private Function ValorTempo(QtdeHoras As String, ValorHora As Double) As Double
Dim dValorMinuto As Double
Dim lQtdeMinutos As Long

dValorMinuto = ValorHora / 60

lQtdeMinutos = DateDiff("n", Date, Date + CDate(QtdeHoras))

ValorTempo = lQtdeMinutos * dValorMinuto

End Function



Basta você passar como parametro o tempo em texto, no formato hh:min
Tópico encerrado , respostas não são mais permitidas