DUVIDA: Limitação de datas

Ola, alguem poderia me ajudar
Estou com o seguinte problema, eu preciso de uma validação que ao digitar uma data inicial e uma data final, mostre a mensagem se esta no periodo de um ano.
Por exemplo:
Se digitar DT_INICIAL= 10/10/2007 e 10/10/2008 tem q mostrar a mensagem q esta no periodo de 1 ano.

Abraços

AAAAAAAAAAAAAAAAFFFFFFFFFFFFFFFFFFFFFFF

cara use o splint para quebrar a data em arrays converta e crie um código que calcule o tempo em dias meses e anos, vou tentar faze um rápido agorinha.

Boa tarde!

Faça algo assim:

 public static void main(String[] args) {  
           
         // data atual  
         Calendar dataAtual = Calendar.getInstance();   
           
         // data desejada  
         // 31 de julho de 2009 | janeiro = 0 / dezembro = 11          
         Calendar dataDesejada = Calendar.getInstance();  
         dataDesejada.set(2009, 6, 31); // atribui a data  
   
         // descobrir quantos dias de diferença entre a data desejada  
         // isso desejavelmente deve ser quebrado num outro método, ou classe....
         // e a data atual  
         Integer difDias = 0;  
         while ( dataAtual.before(dataDesejada) ) { // verifica se a data atual é menor que a data desejada  
               
             // incrementar qtde de dias  
             difDias++;
               
             // incrementar um dia da semana da data atual...  
             // poderia ser dia mês, do ano... etc...   
             // para remover valores, basta colocar o operador "-" no segundo parâmetro  
             dataAtual.add(Calendar.DAY_OF_WEEK, 1);   
   
         }  
         
         if ( difDias > 365 ) {
             System.out.println("A diferença é MAIOR que 1 ano" );  
         } else {
             System.out.println("A diferença é MENOR que 1 ano" );  
         }

           
     }  

Abraço,

Visite o Blog do Perereca: http://www.blogdoperereca.blogspot.com

cara use a joda time http://joda-time.sourceforge.net/

abrassssssssss

ta ai minha classe mandei imprimir diversos dados da contrução para seu entendimento ele só mostra a parte que lhe interessa quando a quantidade de dias é menor que a de um ano ela não aparece:

[code]package Tutorials;

import java.util.Calendar;
import java.util.concurrent.ExecutionException;
import javax.swing.JOptionPane;

class Data{
int dia;
int mes;
int ano;

boolean DataInvalida(){
    return(dia>30 || mes>12 || ano>2009 || ano<1800 || mes<1 || dia<1);
}

}

public class VerificacaoDeAno {
public static void main(String[]args){
Data inicio=new Data();
Data fim=new Data();
String inicialPanel=(JOptionPane.showInputDialog(“Insira a data inicial”,“dd/mm/aaaa”));
String finalPanel=(JOptionPane.showInputDialog(“Insira a data final”,“dd/mm/aaaa”));
try{
inicio.dia=Integer.parseInt(inicialPanel.split("/")[0]);
inicio.mes=Integer.parseInt(inicialPanel.split("/")[1]);
inicio.ano=Integer.parseInt(inicialPanel.split("/")[2]);
fim.dia=Integer.parseInt(finalPanel.split("/")[0]);
fim.mes=Integer.parseInt(finalPanel.split("/")[1]);
fim.ano=Integer.parseInt(finalPanel.split("/")[2]);
}catch(Exception e){
System.err.println(“Formato de data inválido”);
}
//controle de data
if(inicio.DataInvalida())System.err.println(“Data inicial inválida”);
if(fim.DataInvalida())System.err.println(“Data final inválida”);
if(inicio.ano>fim.ano)System.err.println(“A data inicial é menor que a final”);
if((inicio.DataInvalida()==false) && (fim.DataInvalida()==false) && (inicio.ano<fim.ano)){
int diasIN = 0,diasFI = 0;
diasIN+=inicio.dia;
diasIN+=inicio.mes30;
diasIN+=inicio.ano
360;
diasFI+=fim.dia;
diasFI+=fim.mes30;
diasFI+=fim.ano
360;
int diferenca=diasFI-diasIN, anos = 0;

    while(diferenca>=360){
        anos++;
        diferenca-=360;
    }

    System.out.println("di" +
            "asIN: "+diasIN+"\tdiasFI: "+diasFI+"\nDiferença: "+(diasFI-diasIN)+"\tAnos: "+anos);
  }
  }

}
[/code]