[firebase-br] Trabalhar com campos do tipo data e hora

Alysson Gonçalves de Azevedo agalysson em gmail.com
Qua Jun 15 23:53:22 -03 2011


ou assim... duracao = (dia_fim - dia_ini) * 24 + hora_fim - hora_ini

Explicando: pra começar, vamo partir do basico... duração = hora_fim -
hora_ini
agora entender o seguinte, apartir do momento que vira um dia, você precisa
somar 24.
ex: se começar 22h do dia 15 e terminar 4h do dia 16, vc faz: 24 + 4 - 22 =
6h

perceba que ao virar 1 dia, somamos 24, e se virasse 2 dias, seria
necessário 48...
logo, para calcular levando em consideração varios dias executando (e sem
fazer while), é só contar quantos dias se passaram, multiplicar por 24,
somar a hora_fim e subtrair a hora_ini.

duracao = (dia_fim - dia_ini) * 24 + hora_fim - hora_ini

exemplos
começa 8h e acaba no mesmo dia as 12h: (15 - 15) * 24 + 12 - 8 = 4
começa dia 15 as 22h e acaba no dia 18 as 12h: (18 - 15) * 24 + 12 - 22 = 62

Alysson Gonçalves de Azevedo
(11) 8491-7730

(\(''^_^ )/)

"Eu prefiro ser essa metamorfose ambulante do que ter aquela velha opinião
formada sobre tudo." [Raul Seixas]





Em 15 de junho de 2011 20:25, Nivaldo Martins <nivaldomart em gmail.com>escreveu:

> Só corrigindo a mensagem anterior,
>
> o correto é (hora_fim_expediente - hora_inicio_expediente) dentro do while
>
> E usando esta lógica seria mais fácil guardar data e hora separadas
>
> sds
>
> Nivaldo Martins
>
> Em 13 de junho de 2011 16:58, José Otávio Lussari <tavinhol em gmail.com
> >escreveu:
>
> > Pessoal, boa tarde!
> >
> > Estou precisando trabalhar com campos do tipo data e hora. Como vocês
> > fariam
> > o seguinte:
> >
> >
> >
> > - Preciso registrar a data e hora do inicio de um processo.
> >
> > - Preciso registrar a data e hora do fim desse mesmo processo.
> >
> >
> >
> > Vamos supor que esse processo começou dia 13/06/2011 as 15:00
> >
> > e
> >
> > terminou dia 14/06/2011 as 9:15
> >
> >
> >
> > Como eu posso somar isso? Levando em consideração que o horário de
> > expediente vai até as 17:00 e começa no outro dia as 07:00.
> >
> >
> >
> > Coloco a data e a hora em campos separados ou crio um campo TIMESTAMP?
> >
> >
> >
> > Uso Firebird 1.5.3, D7, FIBPlus.
> >
> > Espero que possam me dar uma luz...
> >
> > Desde já, muito obrigado!
> >
> >
> >
> >
> >
> > atenciosamente,
> >
> >
> >
> > [ ]’s
> > José Otávio Lussari
> > Analista de Sistemas
> >
> > Bel. em Sistemas de Informação
> >
> >
> >
> > ______________________________________________
> > FireBase-BR (www.firebase.com.br) - Hospedado em www.locador.com.br
> > Para saber como gerenciar/excluir seu cadastro na lista, use:
> > http://www.firebase.com.br/fb/artigo.php?id=1107
> > Para consultar mensagens antigas: http://firebase.com.br/pesquisa
> >
> ______________________________________________
> FireBase-BR (www.firebase.com.br) - Hospedado em www.locador.com.br
> Para saber como gerenciar/excluir seu cadastro na lista, use:
> http://www.firebase.com.br/fb/artigo.php?id=1107
> Para consultar mensagens antigas: http://firebase.com.br/pesquisa
>



Mais detalhes sobre a lista de discussão lista