Subtrair Datas

3 respostas
L

ola gostaria de saber como eu faço para verificar se a data que veio do banco é 30 dias antes da data de hoje.
por exemplo:

Cadastrei com a data 19/10/2010 e vou fazer um novo cadastro daqui 30 dias 19/11/2010 eu tenho q verificar se a data do banco é 30dias menos que a data nova.
Nao sei se conseguir ser claro!!
Desde ja agradeço qualquer ajuda!!!
obrigado

3 Respostas

L

Tente pegar o timemillis das datas e subtrair, o resultado você verificar se é maior que 30 dias…não sei se fui claro tb…

A

use a biblioteca jodaTime

com ela dá pra fazer um monte de coisa com data

D

lord_dark

Ve se isso te ajuda
import java.util.Date;  
import java.util.Calendar;  
import java.text.SimpleDateFormat;  
  
public class SomarData {  
     
   public static void main(String[] args) {  
        
      Date hoje = new Date();  
      int dias = +40;
      int diasTeste = +30; //Aqui irei calcular 30 dias a partir da data que está no banco.
      
      Date dataDoBanco = addDias(hoje, dias);  //Aqui eu faço uma verificação pra adicionar 30 dias a mais nada data que está no banco
      Date nova_data = addDias(hoje,diasTeste); //Aqui seria no caso a data que você estaria inserindo hj.
      SimpleDateFormat df = new SimpleDateFormat("dd/MM/yyyy");  
      
      System.out.println(df.format(hoje));  
      System.out.println(df.format(nova_data)); 
      System.out.println(df.format(dataDoBanco));
      
      if(nova_data.before(dataDoBanco)){ //Se a data que vc digitou for menor que a do banco ele dá a seguinte msg
          System.out.println("Data do Banco está menor que 30 dias");
      }else if(nova_data.after(dataDoBanco)){//Se a data que vc digitou for maior que a do banco ele dá a seguinte msg
          System.out.println("Data do Banco maior que 30 dias");
      }else if(nova_data.equals(dataDoBanco)){//Se for igual...Já sabe...Da a seguinte msg...
          System.out.println("Data do banco igual a 30 dias");
      }
      
      
        
   }  
  
   public static Date addDias(Date date, int dias) {  // Método que pega o dia atual.
        
      Calendar calendar = Calendar.getInstance();  
   calendar.setTime(date);  
   calendar.add(Calendar.DATE, dias);  
  
   return calendar.getTime();  
     
   }  
  
}

Bjs
Dani Leão!

Criado 19 de outubro de 2010
Ultima resposta 19 de out. de 2010
Respostas 3
Participantes 4