Comparar se data Exemplo: 01/07/2011 é maior que 30 dias de hoje

6 respostas
J

Gostaria de saber como faço para somar 31 dias a data Exemplo: 01/07/2011 em um JTextField e comparar se essa data é maior que a data de hoje desse mes no caso. E exibir em um JOptionPane que ela está vencida.

Agradeço qualquer Ajuda

6 Respostas

peerless

Olha, tu poderia usar a classe Calendar que ajudaria, mas, eu, certamente usaria uma biblioteca como a Joda-time.

cido18

Olá

Cara para você somar uma data é simples dá uma olhada no código como exemplo:

public static void main (String args[])   
   {      
     SimpleDateFormat sd = new SimpleDateFormat("dd/MM/yyyy");    
        
     Calendar c = new GregorianCalendar(2004, 9, 2);    
       
     System.out.println("Data: " + sd.format(c.getTime()));    
       
    c.add(Calendar.DAY_OF_MONTH, 60);   
    System.out.println("Sessenta dias depois: " + sd.format(c.getTime()));   
             
       
     c.add(Calendar.YEAR,10);
     System.out.println("Dez anos depois" +sd.format(c.getTime()));
       
     c.add(Calendar.DAY_OF_MONTH, -1);    
     System.out.println("Um dia antes: " + sd.format(c.getTime()));    
   }

Agora é só da uma procura de como usa o JOptionPane.
Espero que ajude.

J

Muito bom amigo, se der gostaria que vc desse uma comentada no codigo, me explicando melhor o que acontece.

PadrE
Opa... espero que ajude...
public static void main (String args[])     
	{        
		// instanciando o formato da data
		SimpleDateFormat sd = new SimpleDateFormat("dd/MM/yyyy");      

		// instanciando o objeto Calendar, que será usado para gerenciar a data 02/09/2004
		Calendar c = new GregorianCalendar(2004, 9, 2);      

		// exibe a data na formatação dd/MM/yyyy
		System.out.println("Data: " + sd.format(c.getTime()));      

		// adiciona 60 dias a data de 02/09/2004
		c.add(Calendar.DAY_OF_MONTH, 60);     
		// imprime a nova data
		System.out.println("Sessenta dias depois: " + sd.format(c.getTime()));     

		// adiciona mais 10 anos a nova data e imprime
		c.add(Calendar.YEAR,10);  
		System.out.println("Dez anos depois" +sd.format(c.getTime()));  

		// subtrai 1 mês da data e imprime
		c.add(Calendar.DAY_OF_MONTH, -1);      
		System.out.println("Um dia antes: " + sd.format(c.getTime()));      
	}

O exemplo do nosso amigo é um passo-a-passo que mostra bem o uso do do Calendar.
Se você souber usar o debugger de alguma IDE vai ficar fácil de entender e adaptar ao que você precisa... Mas se tiver alguma dor de barriga.. avisa..

Ah! Por favor, se conseguir resolver, não deixe de postar que deu certo tb...

Fui!

jaboot

++

J

Deu certinhoo, é exatamente o que preciso.
Agora o que está me faltando para completar é somar a data que está em uma campo no meu JTable e pintar de vermelho essa linha caso a data seja maior que 30 dias.

Criado 31 de outubro de 2011
Ultima resposta 1 de nov. de 2011
Respostas 6
Participantes 5