Datas em Java

0 respostas
magician

Ora bem o que eu preciso de implementar era algo do tipo cronometro ou seja que verifique quando passa 60 min e 1 min e para isso implementei esta class, ela realmente faz o que quero ela fica a em sleep 60 secs e passado esse tempo ele vai há instância time e vê em que minuto vai e se for = 0 e faz um print se não form apenas faz print do minuto.

Código

import java.util.GregorianCalendar;
import java.util.Calendar;

public class Timer extends Thread{

GregorianCalendar time;

public Timer(){
	this.time = new GregorianCalendar();
}

public void run(){
	try{
		while(true){
			
			Thread.sleep(60000);
			if(this.time.MINUTE == 0){
				System.out.println("Mudou a hora.");
			}
			System.out.println(this.time.get(Calendar.MINUTE));
		}
	}
	catch(Exception e){
		e.printStackTrace();
	}
}

O problema é que o GregorianCalendar guarda um “Calendar” da hora actual e não o actualiza como tal ele tá sempre no mesmo tempo!
Ok isto podia ser resolvido fazendo new GregorianCalendar mas penso que estar a instanciar um novo objecto a cada 60secs é no mínimo mau.

Alguém sabe uma forma de resolver isto ?

Criado 18 de abril de 2007
Respostas 0
Participantes 1