tenho o seguinte programa:
preciso receber a data de nascimento de uma pesssoa
e retornar qtos anos ela tem tipo
01/01/1980 retorna 25 anos
public static void main (String ags[]){
String var;
var = JOptionPane.showInputDialog(null,“Digite a data de nascimento:”);
//aqui compararia as datas
JOptionPane.showMessageDialog(null,"Sua idade é: "+idade);
}
Obrigado comunidade do portal java por me ajudar!!
public static void main (String ags[]){
String var;
var = JOptionPane.showInputDialog(null,"Digite a data de nascimento:");
//Voce teria que definir um formato de entrada de data,
// por exemplo DD/MM/AAAA
int ANO = Integer.parseInt(var.substring(*, *));//aqui voce ve os indices
int MES = Integer.parseInt(var.substring(*, *));//aqui voce ve os indices
int DIA = Integer.parseInt(var.substring(*, *));//aqui voce ve os indices
GregorianCalendar c = new GregorianCalendar(ANO, MES, DIA);
long dif = System.currentTimeMillis() - c.getTimeInMillis();
//dif é a idade em milisegundos
dif = dif / 1000; //idade em segundos
dif = dif / 60; //idade em minutos
dif = dif / 60; //idade em horas
dif = dif / 24; //idade em dias
int idade = (int) dif / 365; //idade em anos
JOptionPane.showMessageDialog(null,"Sua idade é: "+ idade);
}
o método não é 100% exato, como dá pra ver, mas para a aplicação em que eu precisei usá-lo ficou bom.
espero ter ajudado.
muito obrigado pela ajuda.