Calculos com horas

Escrito em Terça-feira, 19 Fevereiro 2008 – 9:27 | por Administrador |

Este exemplo mostra como efectuar cálculos com horas. É útil para quem precisa de saber quanto tempo decorreu entre uma hora de inicio e uma hora de fim. Não basta fazer a subtracção da hora de fim pela hora de inicio, porque caso a hora de fim passe de um dia para o seguinte as contas já não darão certas, por exemplo:

Hora Inicio: 23:00:00

Hora Fim: 02:00:00

Hora Fim - Hora Inicio = 02:00:00 - 23:00:00 = -21:00:00

Obviamente que não é assim tão simples trabalhar com horas, porque assim em vez de termos 3 horas como resultado correcto teríamos -21 horas erradamente.

Para contornar esta situação em que o período passa de um dia para outro temos que verificar primeiro se a hora de fim é superior à hora de inicio, caso seja maior então o cálculo é: Hora Fim - Hora Inicio.

Caso seja menor então temos que fazer o cálculo de outra forma, ou seja:

Hora Inicio: 23:00:00

Hora Fim: 02:00:00

Total de Horas: 23:59:59

Acerto: 00:00:01

Basicamente o que vamos fazer é somar 24:00:00 ao valor da subtracção para nos dar as três horas correctas. Ou seja:

Hora Fim - Hora Inicio + Total de Horas + Acerto = 02:00:00 - 23:00:00 + 23:59:59 + 00:00:01 = -21:00:00 + 24:00:00 = 03:00:00

Download: Calculo com Horas

Mensagens Relacionadas

  • Ponto
  • Tabelas
  • RSS feed | Trackback URI

    5 Commentários »

    Comment por João Cabrita Receber comentários por e-mail
    2008-03-04 16:28:44

    Eu estou com um problema, preciso de criar uma base de dados para controlo de entradas e saidas de pessoal.
    A ideia seria ter um sitio onde meto a hora de entrada e saida do trabalhador x, sabendo no final do mes se este trabalhou as horas que devia ou se trabalhou mais.

    Será que me podem ajudaar?

    (Nivel máximo de avanços.)
     
    Comment por Administrador
    2008-03-05 23:44:17

    Não é muito difícil de fazer. Basta fazer uma tabela com os dados do funcionário, a hora de entrada e a hora de saída. Depois falta saber qual o horário de trabalho e qual a hora para almoço.Depois é só fazer os cálculos como tem neste exemplo. Se me puder dar mais informações acerca dos dados em falta eu farei um exemplo para demonstrar.

    (Nivel máximo de avanços.)
     
    Comment por Administrador
    2008-03-07 20:00:23

    Já fiz um pequeno exemplo para verificar se é o que pretende. Não tive tempo para desenvolver mais. De qualquer forma verifique o exemplo.

    Exemplo de Ponto

    (Nivel máximo de avanços.)
     
    Comment por EDIVALDO
    2008-06-26 18:48:15

    Gostaria de saber se um funcionário que teve uma falta durante a semana, trabalha de segunda a sexta
    o desconto do DSR seria 2 dias,(sábado e domingo)
    ou seja Faltas = 01 DSR=02 Total=03
    Atenciosamente,

    (Nivel máximo de avanços.)
    Comment por Administrador
    2008-06-26 20:50:47

    Peço desculpa mas não estou a perceber qual a sua dúvida!!!

     
     
    Nome (obrigatório)
    Endereço de Correio Electrónico (obrigatório - não é publicado)
    Website
    Receber respostas por email
    O seu comentário (Diminuir | Aumentar)
    Pode usar <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong> nos comentários.

    Apresentacao

    Avatar

    Obrigado pela sua visita.
    Subscreva o feed para não perder nenhuma mensagem.

    Aqui no blogue vou disponibilizar exemplos de como trabalhar com o Microsoft Access e também tirar dúvidas a quem solicitar. Mais

    Quer subscrever?

     Subscrever ou, subscrever por email:
    Introduza o seu email:


    Anúncios