Olaaaa pessoassss, to com uma duvida e resolvi compartilhar com vcs veja minha situacao
tenho 3 campos jtextfield, jt_a ,jt_b e jt_c.
no jt_a eu insiro a data atual e no jt_b insiro a data de aniversario do cidadao, e gostaria que aparecer a idade dele no jt_c como faco isso alguem tem alguma ideia? qqr ajuda e muito bem vinda e muito obrigada pela atencao!
Se você quer aparece dinamicamente você terá que criar um Listener para os campos…
criador
Além de criar o Listener, para facilitar a sua vida, converta estes valores digitados nos campos TextField’s para data, assim fica mais fácil para você comparar estas datas.
I
Ivan_Sotelo_Codo
Usa o calendar para trabalhar com datas. Se preferir tem uma gambi de transformar em string, pegar a substring do ano, transformar em inteiro e depois fazer a subtração.
Espero ter ajudado.
B
biluquinha
Entao eu uso o JCalendar mas nao sei como fazer a comparacao da data e ter o resultado alguem poderia me ajudar? obrigado pela atencao de todos vcs!
B
biluquinha
Tendo a data capturada, como faco o calculo para dar a idade? minha duvida e nesse algoritmo, se alguem tiver um exemplo nem que seja statico mesmo ja ajuda!
renanreismartins
de uma olhadinha na joda-time, a documentação é simples… nada de fazer calculos com Calendar ou Date…
e outra coisa n pode ser getYear pq pensa cumigo se eu colocar 11/11/1959 como data de nascimento e o calculo base for a data de hj 24/09/2009
o resultado sera 50 anos mas ele n tem 50 anos ainda pq n fez ainda entende? por isso o calculo tem q pega o mes tambem se nao n adianta
renamed
biluquinha:
e outra coisa n pode ser getYear pq pensa cumigo se eu colocar 11/11/1959 como data de nascimento e o calculo base for a data de hj 24/09/2009
o resultado sera 50 anos mas ele n tem 50 anos ainda pq n fez ainda entende? por isso o calculo tem q pega o mes tambem se nao n adianta
Só fazer um if, se a data for menor q o dia e o mes do aniversario dele vc diminui um da idade
criador
Eu tinha postado o código errado.
Lá vai o método.
publicstaticintcalculaIdade(Stringdata_aniv){DateFormatsdf=newSimpleDateFormat("dd/MM/yyyy");DatedataNascInput=null;try{dataNascInput=sdf.parse(data_aniv);}catch(Exceptione){}CalendardateOfBirth=newGregorianCalendar();dateOfBirth.setTime(dataNascInput);// Cria um objeto calendar com a data atualCalendartoday=Calendar.getInstance();// Obtém a idade baseado no anointage=today.get(Calendar.YEAR)-dateOfBirth.get(Calendar.YEAR);dateOfBirth.add(Calendar.YEAR,age);if(today.before(dateOfBirth)){age--;}returnage;}
Exemplo: System.out.println(calculaIdade(“25/09/2000”));
Idade: 8 anos.