Hora / Data [RESOLVIDO]

Bom dia,

gostaria de saber como faço para pegar a data e horário do computador do usuário para poder usa-lo na hora de cadastrar uma consulta.

Obrigado.

você pode criar um thread,

aqui vai oq eu uso, vai resolver:


      private class ThreadHora extends Thread {
        public void run() {
            while (true) {
                try {
                    ThreadHora.sleep(1000);
                } catch (Exception e) {
                }
                Calendar f = Calendar.getInstance();
                String hora = f.get(java.util.Calendar.HOUR_OF_DAY) + ":" + f.get(java.util.Calendar.MINUTE) + ":" + f.get(java.util.Calendar.SECOND);
                seutextfield.settext(hora);
                String data = f.get(java.util.Calendar.DATE) + "/" + "12" + "/" + f.get(java.util.Calendar.YEAR);
                seutextfield.settext(data);
            }
        }
    }

depois é só instanciar e dar um start, onde você quiser

Me parece que o que o lucaslzl quer é simplesmente pegar a hora corrente, pra inserir num cadastro. Não é mostrar a hora na tela. Neste caso, basta:

Date agora = new Date();

Sim, seria mais o que o wagner disse mas, eu tento usar os métodos getHours(), getMinutes(0, getSeconds() e ele fica riscado. Como faço para manusear esses valores?

		Date data = new Date();
		String datacao = ""+data.getHours();
		ftfHorario.setText(datacao);

Muito obrigado, eu usei o código do morcinek e funcionou melhor. Ele apenas não consegue setar o mes.

	Calendar f = Calendar.getInstance();  
        String hora = f.get(java.util.Calendar.HOUR_OF_DAY) + ":" + f.get(java.util.Calendar.MINUTE) + ":" + f.get(java.util.Calendar.SECOND);  
        ftfHorario.setText(hora);  
        String data = f.get(java.util.Calendar.DATE) + "/" + ""+f.get(java.util.Calendar.MONTH) + "/" + f.get(java.util.Calendar.YEAR);  
        ftfData.setText(data);  

se eu coloco assim ele buga.

O mês retorna 1 a menos (a contagem começa de 0), então vc precisa somar 1: f.get(Calendar.MONTH + 1).

Que bug você disse que tem?

A mascara não deixa porque o retorno do mês é: “7” e não “07”, pelo menos eu acho que é isso. Ou ele ultrapassa o tamanho da mascara porque faz um barulho como se estivesse tentando digitar onde os espaços já estão completos.

Esse é o código da mascara:

//textfield Data
try   
{               
    mfData = new MaskFormatter("##/##/####");   
}  
catch (Exception erro)   
{               
    JOptionPane.showMessageDialog(null, "Não conseguiu carregar a mascara");   
}
ftfData = new JFormattedTextField(mfData);

E se eu tiro a mascara e coloco:

String data = f.get(java.util.Calendar.DATE) + "/" + ""+ f.get(java.util.Calendar.MONTH +1) +"/" + f.get(java.util.Calendar.YEAR); 

Aparece o número “33” no lugar do mês.

Tem alguma dica para eu fazer ou no código da mascara ou no do mês para desbuggar?

Obrigado.

Consegui resolver, muito obrigado pela ajuda.