Data de nascimento em idade

Boa Tarde!

Galera, alguém sabe ai como transforma data de nascimento em idade.

lembrando q a data de nascimento do usuário está em um variável:??

Ano atual menos o ano de nascimento é igual à idade

Da uma olhada neste tutorial, ele demonstra como utilizar a nova API do Java 8 com datas.

http://www.botecodigital.info/java/a-api-de-data-do-java-8/

Opa Ajudou mt vlw, porem esta dando um erro que nao consigo arrumar:

Segue codigo:

public static void Data() {

        LocalDate data1 = LocalDate.of(2013,1,1);
        LocalDate data2 = LocalDate.now();
        Period period = Period.between( data1, data2);
        System.out.println("Diferença entre "+data1+" e "+data2);
        System.out.println("Dias: "+period.getDays() );
        System.out.println("Meses: "+period.getMonths() );
        System.out.println("Anos: "+period.getYears() );   
          
}

Ali Na primeira linha data1 eu tento colocar dentro do parentes a String na qual esta armazenada a variável que o usuário digitou a data, só que da erro alguém sabe por que ???

Tudo bem ?
o método LocalDate.of() aceita apenas 3 argumentos int ou 2 int e 1 Enum que é o mês.
Segue a Documentação: https://docs.oracle.com/javase/8/docs/api/java/time/LocalDate.html

O que você pode fazer é pegar a String e fazer um split e converter as String em int.

Blz Vou tentar. Vlwwww

Convertendo a data fornecida pelo usuario como LocalDate:

    String data = "25/01/2017";
    DateTimeFormatter formt = DateTimeFormatter.ofPattern("dd/MM/yyyy");
    LocalDate d = LocalDate.parse(data, formt);
    
    System.out.println(d);
1 curtida

Q tal assim???

public static void main(String args[]) {
    
    String data = "01/12/2017";
    DateTimeFormatter formt = DateTimeFormatter.ofPattern("dd/MM/yyyy");
    LocalDate d = LocalDate.parse(data, formt);
    
   //        System.out.println(d);
    
    LocalDate data1 = LocalDate.of(d.getYear(), d.getMonth(), d.getDayOfMonth());
    LocalDate data2 = LocalDate.now();
    
    Period period = Period.between(data1, data2);
    
    System.out.println("Diferença entre " + data1 + " e " + data2);
    System.out.println("Dias: " + period.getDays());
    System.out.println("Meses: " + period.getMonths());
    System.out.println("Anos: " + period.getYears());

}
1 curtida

Deu Certo, Vlwwwwwww