Data de nascimento em idade

8 respostas
java
M

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:??

8 Respostas

S

Ano atual menos o ano de nascimento é igual à idade

J

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/

M

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 ???

V

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.

M

Blz Vou tentar. Vlwwww

J

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);
J

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());

}
M

Deu Certo, Vlwwwwwww

Criado 14 de dezembro de 2017
Ultima resposta 15 de dez. de 2017
Respostas 8
Participantes 4