Problema com data e hora [RESOLVIDO]

4 respostas
carlosx2

Boa noite a todos,
Estou fazendo um trabalho para faculdade no qual tenho que fazer um controle de estacionamento,
contudo tenho que usar a data e hora do sistema e colocar na entrada e a data e hora da saida subtrair
para fazer cobrança do valor.estou com praticamente tudo pronto porem não sei como pegar esse dados
será que alguem pode me dar um exemplo?
obs:busquei no forum e so encontrei gravando em BD.

desde já agradeço a atenção de todos.

4 Respostas

userguj

Acho que este tópico, aqui do GUJ vai te ajudar. :smiley:

http://www.guj.com.br/java/32679-pegando-a-hora-do-relogio-do-sistema

drsmachado

Pegar data hora é possível com a classe Date.

Date d = new Date();

Lembrando, esta classe está no pacote java.util
Para formatar a data, use o DateFormat, a saber

Date d = new Date();
DateFormat df = new SimpleDateFormat("dd/MM/yyyy HH:mm:ssss");
        System.out.println(df.format(d));

Para isto, também deve-se saber que os “símbolos” tem alguns significados específicos
dd = dia do mês
MM = mês
MMM = mês - extenso, simplificado
MMMM = mês extenso, completo, ambos respeitando o locale
yy = ano com 2 dígitos
yyyy = ano com 4 dígitos

HH = hora
mm = minutos
ss = segundos
SSSS = milissegundos

Pegando a hora e os minutos, basta usar o básico (substring e parses) para realizar teus cálculos.

carlosx2

Agradeço a ajuda muito obrigado! :slight_smile:

jokacwb

Já fiz algo parecido e acredito que va precisar calcular a diferença em minutos para saber exatamente
quanto cobrar do cliente, segue um exemplo de como fazer isso:

//Cria uma suposta data/hora de entrada do veiculo
		Date d1 = new SimpleDateFormat("dd/MM/yyyy HH:mm").parse("14/06/2011 07:30");
		//Data e hora do sistema (suposta saida do veiculo)
		Date d2 = new Date(); 
		
		//Obtem a diferença em milesegundos e 
		//depois divide por 60000 para chegar na dif. em minutos
		long diferencaEmMinutos = Math.abs(d2.getTime() - d1.getTime()) / 60000;
		
		System.out.println("Diferença = "+diferencaEmMinutos+" minutos");

Depois se considerar resolvido a sua dúvida, por favor, edite o post e coloque o [RESOLVIDO] no titulo.

Criado 11 de junho de 2011
Ultima resposta 14 de jun. de 2011
Respostas 4
Participantes 4