Amigos, fiz um programa simples para saber a idade da pessoa utilizando Java Swing. Preciso mudar o codigo abaixo para substituir “2017” pelo ano vindo do sistema; não sei como formatar “Date”. Se puderem me ajudar ficarei muito grato.
Date relogio = new Date();
System.out.println(relogio);
int an = Integer.parseInt(txtAN.getValue().toString());
int id = 2017 - an;
lblIdade.setText(Integer.toString(id));
Não deu mano; nao deu erro no codigo q vc passou, só na hora de fazer a conta int id - an;
Date relogio = new Date();
SimpleDateFormat sdf = new SimpleDateFormat("dd/MM/yyyy");
String Data = sdf.format(relogio);
int an = Integer.parseInt(txtAN.getValue().toString());
int id = relogio - an;
lblIdade.setText(Integer.toString(id));
SDF é para formatar Date. Para calcular é mais ou menos assim.
SimpleDateFormat sdf = new SimpleDateFormat("yyyy");
String anoString = sdf.format(new Date());
Integer anoInt = Integer.parseInt(anoString);
int an = Integer.parseInt(txtAN.getValue().toString());
int id = anoInt - an;
dd (minúsculo): Representa o valor numérico do dia do mês com dois dígitos
mm (minúsculo): Representa o valor numérico dos minutos
MM (maiúsculo): Representa o valor numérico do mês com 2 dígitos
hh (minúsculo): Representa o valor numérico das horas, para horas em formato 12
HH (maiúsculo): Representa o valor numérico das horas, para horas em formato 24
yyyy (minúsculo): Representa o valor numérico do ano, com 4 dígitos
ss (minúsculo): Representa o valor numérico dos segundos
S (maiúsculo): Representa o valor numérico dos milissegundos
Você deve considerar obter a data completa de nascimento da pessoa, tendo em vista que não é apenas o ano que interfere neste cálculo.
Por exemplo: uma pessoa que nasceu em 10/02/1990, obviamente, terá 27 anos em 04/04/2017.
Agora, se a pessoa nasceu em 10/08/1990, ainda não completou 27 anos e, portanto, ainda está com 26 anos.
Cálculo de idade é um pouco complicado, ainda mais quando você vai ler a informação vinda do usuário.
Uma solução mais simples seria você perguntar se o usuário já fez aniversário este ano. De acordo com a resposta, fica facil calcular a idade do mesmo.