Calculo Time (hora Saida - horaEntrada)

Boa tarde, Sou iniciante em java e não consigo resolver esse problema… Estou com um problema de calcular a diferença de tempo de duas variáveis.

Time horaSaida Time horaEntrada

a entrada é 12:00:00 a saida é 13:00:00

Como a diferença de tempo?

13:00:00 - 12:00:00 = 1:00:00 ?

(Não usei Date, pois preciso apenas da horas e minutos e segundos)…

Obrigado :slight_smile:

Dá uma pesquisada na biblioteca JodaTime. Com ele você pode fazer essas diferenças com qualquer coisa, horas, dias, anos, etc…

[quote=thibalta]Boa tarde, Sou iniciante em java e não consigo resolver esse problema… Estou com um problema de calcular a diferença de tempo de duas variáveis.

Time horaSaida Time horaEntrada

a entrada é 12:00:00 a saida é 13:00:00

Como a diferença de tempo?

13:00:00 - 12:00:00 = 1:00:00 ?

(Não usei Date, pois preciso apenas da horas e minutos e segundos)…

Obrigado :)[/quote]

Olá colega.

Você disse que não usou a classe Date correto?

Mas vou te mostrar o porque deve e vai precisar usar.

Uma data é composta por 6 elementos de unidades diferentes dia/mês/ano hora/minutos/segundos, sendo assim, não conseguimos fazer operações matemáticas a não ser que você faça uma conversão das unidades, o que não é aconselhável pois existem várias particularidades.

No exemplo que você mostrou pode dar certo porque apenas é considerado a hora e esta utilizando intervalo de horas pequenos, mas pense num aplicativo para cartão de ponto, utilizado nas empresas, que você precisa considerar os minutos e segundos, vamos ter problemas.

A questão é que essas unidades tem bases diferentes, por exemplo a hora vira em 24, minuto em 60, segundo em 60 e se você utilizar uma calculadora normal, ela não vai entender isto.

Suponha que o funcionário tem seu horário de trabalho das 8:00:00 as 18:00:00

porém ele precisou sair antes por problemas particulares.

ele saiu da empresa ás 14:12:32

mesmo separando as unidades, para saber a diferença você teria problemas com as operações matemáticas.

Aconselho a estudar a classe Date e Calendar que te dá as funções necessárias para fazer operações com datas.

Espero ter ajudado.

Att.

Artur Martini