Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
Olá a todos, preciso implementar um código para buscar a diferença de data, mas considerando somente o horário comercial. Esse código uso em um sistema de helpdesk. Eu recebo o dia e hora em que uma solicitação de serviço foi aberta pelo cliente, e também o dia e hora em que a solicitação foi assumida por um técnico para atende-la. Assim eu consigo saber qual o tempo em que a solicitação levou para ser atendida desde a abertura (isso para controles de SLA´s, Nível de acordo de serviço).
Vou tentar exemplificar a situação, para ver se alguém consegue me ajudar a resolver este problema.
Tenho duas datas, a de abertura "Data1" (sendo 01/06/2010 16:00) e de assumida "Data2" (sendo 03/06/2010 11:41).
O horário comercial estou considerando como o padrão 08:00 - 12:00 e 13:00 - 18:00 (mas é parametrizável no sistema).
No exemplo, eu teria que calcular, 18:00 (hora final do dia) - 16:00 (hora de Data1), retornando 2 horas para o dia 01/06
Para o dia 02/06 (data entre o dia 01/06 e 03/06), eu teria que capturar somente o horário de horas comerciais, no caso 09:00
E para o dia 03/06, eu tenho que considerar somente 08:00 - 11:00 (3 horas) e mais 41 minutos, por causa de Data2.
No total, tem que me retornar 14:41 (2+9+3+41), ou seja catorze horas e 41 minutos.
Minha dificuldade está sendo em criar uma função para fazer esse tipo de cálculo, uma vez que tanto Data1 pode vir qualquer tipo de data (caindo em sábado, quando não tem horário comercial, sendo meia noite, madrugada, etc), enquanto que Data2 praticamente sempre será dentro do horário comercial.
Alguém pode me ajudar?
Carregando comentários...