Trabalhando com datas

7 respostas
R

pessoal, criei um metodo pra retornar o dia atual com a hora…

public String getDate(){

Date data = new Date();
      SimpleDateFormat formatoDia = new SimpleDateFormat("hh:mm:ss" + " dd/MM/yyyy");
      String dataAtual = formatoDia.format(data);
      
      return dataAtual;
    }</blockquote>

minha pergunta é… tem como fazer pra retornar só a hora ou só o minuto???

outra coisa, tem como fazer aparecer o mes atual por extenso completo, tipo novembro, outubro ao invez de aparecer o numero do mes???

So mais uma… coloquei o retorno da função num label. como faço pra ficar atualizando os segundos direto… pq quando compilo mostra a hora atual mas fica la parado… só muda se eu executar de novo o programa

7 Respostas

thiago.correa

Tem sim, o javadoc sabe como
http://java.sun.com/j2se/1.5.0/docs/api/java/text/SimpleDateFormat.html

no seu caso retire TUDO que estiver após o ‘+’ (incluindo o mesmo) no construtor.

Quanto a segunda pergunta eu acho que uma thread que pegue a hora do sistema e fica atualizando era uma boa!

ramilani12

Existem 3 metodos na classe Date qye retornam hora , minuto e segundo:

date.getHours();
date.getSeconds();
date.getMinutes();

Para mostrar o mês por exemplo crie um array com os meses:

private String mes[] = {"Janeiro", "Fevereiro", "Março", "Abril",
  			"Maio", "Junho", "Julho", "Agosto",
  			"Setembro", "Outubro", "Novembro",
  			"Dezembro"};

E utilize o método getMonth() esse metodo retrona um int 0 a 10 que corresponde o mês dai ai:

mes[getMonth()] // vc descobre o mes por extenso

Para atualizar a hora sem fechar e abrir o programa utilize threads

R

thiago.correa:
Tem sim, o javadoc sabe como
http://java.sun.com/j2se/1.5.0/docs/api/java/text/SimpleDateFormat.html

no seu caso retire TUDO que estiver após o ‘+’ (incluindo o mesmo) no construtor.

Quanto a segunda pergunta eu acho que uma thread que pegue a hora do sistema e fica atualizando era uma boa!


como faço isso usando threads??? ainda nao estudei essa parte

Bravox

Existem 3 metodos na classe Date qye retornam hora , minuto e segundo:

Lembrando que esses metódos da classe Date são Deprecated e que é aconselhavél usar a Classe Calendar para obter hora , minuto …

bravox

R

passando o paramentro “dd/MMMM/yyyy” no SimpleData ele converte por extenso :smiley:

o que preciso saber é só como implementar pra o programa ativo mostrar a hora em movimento

R

Ngm sabe como implementar o codigo pra a hora ficar como se desse refresh?

fenrir

De forma bem simples, e até certo ponto, porca, coloque dentro de algum método da sua classe o primeiro bloco de código abaixo (depois que criar a instância do seu JLabel), e coloque o segundo bloco em qualquer lugar da sua classe.

Isso é só um exemplo!! Estude threads e veja também a classe TimerTask.

Thread thread = new Thread(new AtualizaJLabelComADataAtual(seu_JLabel));
thread.setPriority(Thread.MIN_PRIORITY);
thread.start();
private class AtualizaJLabelComADataAtual implements Runnable {
    private JLabel labelAAtualizar;

    public AtualizaJLabelComADataAtual(JLabel label) {
        this.labelAAtualizar = label;
    }

    public void run() {
        while (true) {
            labelAAtualizar.setText("nova hora!");
            try {
                Thread.sleep(1000);
            } catch (Exception ex) {
                ex.printStackTrace();
                return;
            }
        }
    }
}
Criado 9 de novembro de 2006
Ultima resposta 9 de nov. de 2006
Respostas 7
Participantes 5