Converter horas em dias
12/02/2010
0
pessoal tenho uma tabela com a seguinte estrutura:
PRESENCA (
ID_FUNC INTEGER NOT NULL,
DATA DATE NOT NULL,
CODIGO INTEGER,
CODIGOGERACAO VARCHAR(20),
ENTRADA CHAR(8),
ALMOCO CHAR(8),
RETORNO CHAR(8),
SAIDA CHAR(8),
DT_CADASTRO DATE,
HORA TIME,
FECHADO CHAR(1) )
Utilizo para armazenar a batido do ponto. Tenho um relatorio que imprime as horas de entrada e saida e vai somando as hrs trabalhadas, hrs extras, hrs faltas e hrs noturnas.
Gostaria de pegar a soma das hrs faltas e converter em dias faltas, por exemplo, o funcionario teve no mes um total de 32:00:00 hrs faltas, convertendo para dias suponha que seja 08:00:00 hrs por dia, daria 4 dias de faltas. Nao sei se o calculo para achar os dias faltados de acordo com o numero de horas faltas seria este, de qualquer forma espero ajuda de vcs.
Obrigado.
Iramar Junior
Posts
12/02/2010
Edson Junior
O que tu pede é uma simples conversão de hora para dia... isto é possivel se obter calculando:
total_dias = trunc(total_horas_falta/qtde_horas_dia = qtde_dias_falta)
é claro que total_horas_falta tem que ser maior que qtde_horas_dia se não, não há por que fazer a conta pois o resultado será inferior a 1.
E claro, lembrando que você precisará do resto da divisão para as horas que ficarão sobrando com mod
horas_falta = total_horas_falta mod qtde_dias_falta
assim tu terá o total_dias e o horas_falta
Ex:
total_horas_falta = 20
qtde_horas_dia = 8
total_dias = 2
horas_falta = 4
[]'s
12/02/2010
Marcos Iwazaki
32h = 32h (isso não mexe)
23m = 0,38h (p calcular isso se for a sua duvida faz uma regra de 3, 60m = 1h então 23 = X
x = 23/60 )
50s = 0,0138 (siga o mesmo passo... mas aqui ficaria x = 50/3600, pois cada hora tem 3600 segundos
some todas as horas agora, aqui deu +- 32,39 (se não digitei nada errado)
agora faça 32,39/8
resultado = 4,04
flw.
espero ter ajudado.
Clique aqui para fazer login e interagir na Comunidade :)