Pessoal minha duvida é simples pra muito… minha data de nascimento é 14/10/1982
como faço para caucular minha idade encima dessa data?
Pessoal minha duvida é simples pra muito… minha data de nascimento é 14/10/1982
como faço para caucular minha idade encima dessa data?
Oi Leandro, se você quiser saber a lógica é essa:
Idade = dataAtual - dataNascimento;
vlw
Meu probleminha nao está na logica é o seguinte quero saber tb se a pessoa ja fez aniversario esse ano se nao fez quando vai fazer, qts dias falta qts meses etc…
NAO resolveu pq oque eu quero é o seguinte nasci em 05/03/2000 e minha data atual é 06/04/2010
ou seja eu quero o resultado 10 anos e 1 mese 1 dia
coloca a data invertida 20100406 e subtrai a outra 20100406 - 20000305 = 100101.
Caraca, nunca tinha visto… curti.
curti [2]
ta ai naum conhecia, mta boa!
E quando acontece isso:
Data atual: 06/04/2010
NAscimento: 20/06/1980
20100406 - 19800620 = 299786
Então:
Seguindo esta lógica, eu teria hoje mais de 37 anos. E não tenho( ainda! ). Só tenho 29.
[quote=leandro-maanaim]NAO resolveu pq oque eu quero é o seguinte nasci em 05/03/2000 e minha data atual é 06/04/2010
ou seja eu quero o resultado 10 anos e 1 mese 1 dia :)[/quote]
Você só tem 10 anos oO?
Rlx foi só um exemplo rsrs
Pessoal ola só vou colar o codigo aki e vcs dao uma olhada.
package DATA;
public class DATA2{
public DATA2(){
try{
java.text.SimpleDateFormat df = new java.text.SimpleDateFormat ("dd/MM/yyyy hh:mm:ss");
java.util.Date d1 = df.parse("14/10/1982 23:00:00");//data de Nascimento
java.util.Date d2 = df.parse("15/10/2010 23:00:00");//Exemplo da minha Data Atual.
System.out.println("DATA 1: "+d1.toLocaleString());
System.out.println("DATA 2: "+d2.toLocaleString());
System.out.println("DIFERENCA DE ANOS: "+ getDifAno(d1,d2));
System.out.println("DIFERENCA DE MESES: "+ getDifMes(d1,d2));
System.out.println("DIFERENCA DE DIAS: "+ getDifDia(d1,d2));
System.out.println("DIFERENCA DE HORAS: "+ getDifHora(d1,d2));
System.out.println("DIFERENCA DE MINUTOS: "+ getDifMinuto(d1,d2));
System.out.println("DIFERENCA DE SEGUNDOS: "+ getDifSegundo(d1,d2));
System.out.println("DIFERENCA DE MILISEGUNDOS: "+ getDifMilisegundo(d1,d2));
}catch(java.text.ParseException p){
p.printStackTrace();
}
}
public static void main(String[] args) {
DATA2 difDatas = new DATA2();
}
private long getDifAno(java.util.Date dtMenor, java.util.Date dtMaior){
return dtMaior.getYear() - dtMenor.getYear();
}
private long getDifMes(java.util.Date dtMenor, java.util.Date dtMaior){
return dtMaior.getMonth() - dtMenor.getMonth() + (getDifAno(dtMenor,dtMaior) * 12);
}
private long getDifDia(java.util.Date dtMenor, java.util.Date dtMaior){
return (dtMaior.getTime() - dtMenor.getTime()) / (1000*60*60*24);
}
private long getDifHora(java.util.Date dtMenor, java.util.Date dtMaior){
return (dtMaior.getTime() - dtMenor.getTime()) / (1000*60*60);
}
private long getDifMinuto(java.util.Date dtMenor, java.util.Date dtMaior){
return (dtMaior.getTime() - dtMenor.getTime()) / (1000*60);
}
private long getDifSegundo(java.util.Date dtMenor, java.util.Date dtMaior){
return (dtMaior.getTime() - dtMenor.getTime()) / (1000);
}
private long getDifMilisegundo(java.util.Date dtMenor, java.util.Date dtMaior){
return dtMaior.getTime() - dtMenor.getTime();
}
}
Olha oque ele me retorna.
DATA 1: 14/10/1982 23:00:00
DATA 2: 15/10/2010 23:00:00
DIFERENCA DE ANOS: 28
DIFERENCA DE MESES: 336
DIFERENCA DE DIAS: 10228
DIFERENCA DE HORAS: 245472
DIFERENCA DE MINUTOS: 14728320
DIFERENCA DE SEGUNDOS: 883699200
DIFERENCA DE MILISEGUNDOS: 883699200000
Nao deveria de me retornar 29 anos e 0 meses e 1 dia?
como faço pra ele me retornar 29 anos e 0 mes e 1 dia etc…?
[quote=pvrsouza]E quando acontece isso:
Data atual: 06/04/2010
NAscimento: 20/06/1980
20100406 - 19800620 = 299786
Então:
Seguindo esta lógica, eu teria hoje mais de 37 anos. E não tenho( ainda! ). Só tenho 29.
[/quote]
É retira o que disse, num curti não… kkkkkkkkk
[quote=leandro-maanaim]Pessoal ola só vou colar o codigo aki e vcs dao uma olhada.
Olha oque ele me retorna.
DATA 1: 14/10/1982 23:00:00
DATA 2: 15/10/2010 23:00:00
DIFERENCA DE ANOS: 28
DIFERENCA DE MESES: 336
DIFERENCA DE DIAS: 10228
DIFERENCA DE HORAS: 245472
DIFERENCA DE MINUTOS: 14728320
DIFERENCA DE SEGUNDOS: 883699200
DIFERENCA DE MILISEGUNDOS: 883699200000
Nao deveria de me retornar 29 anos e 0 meses e 1 dia?
como faço pra ele me retornar 29 anos e 0 mes e 1 dia etc…?[/quote]
Deveria retornar 28 Anos 0meses e 1dia… para retornar isso vc ta usando as datas do calendario onde fev vai até 28/29 dias e etc… pra ter esse resultado vc precisa usar Calendar ou o GregorianCalendar
Acho q da pra fazer assim tb… só que vc vai ter problema qdo o mes ou dia atual for menor que o do nascimento…
Duvida: Ali no seu
private long getDifMes(java.util.Date dtMenor, java.util.Date dtMaior){
return dtMaior.getMonth() - dtMenor.getMonth() + (getDifAno(dtMenor,dtMaior) * 12);
}
pq vc colocou getDifAno(dtMenor,dtMaior) * 12 ?? isso resulta em 28 * 12 = 336 (o resultado q saiu para os meses)
iiiiiiiiiiiiiiiii, falhou…
20100406 - 19800620 = 299786
é o seguinte… tentando convencer o chefe…
o 97 me diz que falta 3 unidades para completar a proxima unidade (unidade de ano)… ou seja, faltam 3 meses pra completar um ano… estou com 9 meses
e o 86 a mesma coisa… faltaram 14 dias pra completar uma unidade de mes ou seja 30 - 14 = estou com 16 dias
no final… 29 anos 9 meses e 16 dias… ta certo?
[quote=humberto.lima]iiiiiiiiiiiiiiiii, falhou…
20100406 - 19800620 = 299786
é o seguinte… tentando convencer o chefe…
o 97 me diz que falta 3 unidades para completar a proxima unidade (unidade de ano)… ou seja, faltam 3 meses pra completar um ano… estou com 9 meses
e o 86 a mesma coisa… faltaram 14 dias pra completar uma unidade de mes ou seja 30 - 14 = estou com 16 dias
no final… 29 anos 9 meses e 16 dias… ta certo?
[/quote]
Caracaaaa curti msm kkkkkkkkkk eu tentei fazer isso mas num consegui pensar dessa forma… agora assim… vc usou 30 - 14… ta errado… os meses não são todos de 30 dias. em 20/03/2010 ele tinha 29 anos e 9 meses, certo? passado 11 dias ele entrou em abril(pois março vai até 31) e + 6 dias de abril, ele tem 17 dias.
“Num entindi oque vcs falô” :S