Converter horas em dias

12/02/2010

0

ola Delphianos,

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

Iramar Junior

Responder

Posts

12/02/2010

Edson Junior

Olá Iramar,

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
Responder

12/02/2010

Marcos Iwazaki

primeiro transforme tudo em horas 32h 23m 50s
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.
Responder

Que tal ter acesso a um e-book gratuito que vai te ajudar muito nesse momento decisivo?

Ver ebook

Recomendado pra quem ainda não iniciou o estudos.

Eu quero
Ver ebook

Recomendado para quem está passando por dificuldades nessa etapa inicial

Eu quero

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar