Já vi vários exemplos e sei que é um tópico recorrente, mas não consegui achar/resolver como faço para obter as semanas de uma idade relativa ao mês.
Preciso exibir a idade na forma: 52 anos, 10 meses, 2 semanas e 3 dias.
Quase consegui com uns exemplos usando a API Calendar fragmentando o getTimeInMillis() em semanas, mas quando a data fica abaixo de 1970, o retorno passa a ser negativo (bizarro…).
Saladinha, valeu a explicação, mas é estranho, teoricamente uma função matemática cuidaria disso (pelo menos a paritir de DC).
Vini, show de bola o JODA, Obrigado!
Abaixo segue um resumo de como implementar.
import org.joda.time.*;
import org.joda.time.format.*;
DateTime start = new DateTime(dataNascimento);
DateTime end = new DateTime();
Period per = new Period (start, end);
PeriodFormatter pf = new PeriodFormatterBuilder()
.appendYears().appendSuffix (" ano, ", " anos, ").printZeroIfSupported()
.appendMonths().appendSuffix (" mês, ", " meses, ").printZeroIfSupported()
.appendWeeks().appendSuffix (" semana e ", " semanas e ").printZeroIfSupported()
.appendDays().appendSuffix (" dia ", " dias ").printZeroIfSupported()
.printZeroIfSupported()
.toFormatter();
System.out.println (pf.print(per));
[quote=pgnt]Saladinha, valeu a explicação, mas é estranho, teoricamente uma função matemática cuidaria disso (pelo menos a paritir de DC).
Vini, show de bola o JODA, Obrigado!
Abaixo segue um resumo de como implementar.
import org.joda.time.*;
import org.joda.time.format.*;
DateTime start = new DateTime(dataNascimento);
DateTime end = new DateTime();
Period per = new Period (start, end);
PeriodFormatter pf = new PeriodFormatterBuilder()
.appendYears().appendSuffix (" ano, ", " anos, ").printZeroIfSupported()
.appendMonths().appendSuffix (" mês, ", " meses, ").printZeroIfSupported()
.appendWeeks().appendSuffix (" semana e ", " semanas e ").printZeroIfSupported()
.appendDays().appendSuffix (" dia ", " dias ").printZeroIfSupported()
.printZeroIfSupported()
.toFormatter();
System.out.println (pf.print(per));
abs
[/quote]
ya irmão fazer isso sem o uso da APi deve complicar muito porque os dias do ano são variaveis e os dias da semana também.