Olá, estou fazendo um sistema semelhante de LAN House, que irá calcular a hora gasto.
A lógica está na classe abaixo, mas não lembro como fazer esse calculo… :?:
[code]/**
*
@author Vitoriano
*/
class CalculaHora {
public CalculaHora() {
int a;
int b;
int c;
int d;
int e;
e = (((a-c)*8)+(b+d))
}
}
[/code]
a = dia inicial (DATE)
b = hora inicial (TIME)
c = dia final (DATE)
d = hora final (TIME)
8 ==> Horas de serviço em um dia
e = resultado em horas (00:00 HH:MM)
E os dados vão ser inseridos por um jTextField ou jFormattedTextField em uma interfaço GUI. (a principio, preciso da logica para fazer isso na classe, em relação a GUI, vou criar um forum posterior na área especifica)
A sua logica tem dois erros :
1º Voce deve fazer dia final menos dia inicial.
2º Hora final menos a hora inicial.
Observação:
Lembrando que na troca de mês daria uma falha na questão dia.
O certo é fazer dia final menos dia inicial em módulo para ter resultado sempre positivo.
[quote=tiora]A sua logica tem dois erros :
1º Voce deve fazer dia final menos dia inicial.
2º Hora final menos a hora inicial.
Observação:
Lembrando que na troca de mês daria uma falha na questão dia.
O certo é fazer dia final menos dia inicial em módulo para ter resultado sempre positivo.[/quote]
Tinha reparado isso mesmo, só esqueci de mudar aqui… Obrigado
[code]/**
*
@author Vitoriano
*/
class CalculaHora {
public CalculaHora() {
long a;
long b;
long c;
long d;
long e;
e = (((c-a)*8)+(d-b))
Se conhece a API Calendar, podes usa-la.
Agora evite ao máximo trabalhar com o java.util.Date, métodos como getHour() são depreciados, justamente porque existe o Calendar para tal.
O JodaTime é uma API que disponibilizaram para aqueles que não querem utilizar o Calendar ou por facilidades oferecidas pela própria API que evitam muita manipulação em cima do objeto Calendar.
Garanto que o Calendar vai resolver o teu problema.
Abraços.
Se conhece a API Calendar, podes usa-la.
Agora evite ao máximo trabalhar com o java.util.Date, métodos como getHour() são depreciados, justamente porque existe o Calendar para tal.
O JodaTime é uma API que disponibilizaram para aqueles que não querem utilizar o Calendar ou por facilidades oferecidas pela própria API que evitam muita manipulação em cima do objeto Calendar.
Garanto que o Calendar vai resolver o teu problema.
Abraços.[/quote]
Obrigado!! :idea:
Só uma observação, creio que o JodaTime ofereça maior facilidade para manipulação
É só pesquisar mais se tiver interesse no JodaTime.
Abraços.[/quote]
Ok, estou pesquisando… Mas por exemplo, eu vou adicionar a API dele no NetBeans (ou eclipse) como o BIN do JDBC? Copiando para Libary :?:
(desculpa pergunta, mas sou meio leigo ainda em algumas coisas)
Infelizmente eu não sei lhe informar, pois eu já ouvi falar, mas sabe naquelas conversas de corredor?
Como nunca usei, para nada, não tenho opinião formada sobre esta API, mas me parece interessante.
Uma recomendação é evitar pesquisar tanto e ser mais objetivo, caso seu tempo seja reduzido.
Se possui tempo para pesquisar e estudar estas APIs, continue, teste cada uma delas, a JodaTime e a do Google, assim, poderás tirar tuas conclusões.