public string GetAge(DateTime?val) { if (!val.HasValue) { return(null); } DateTime hoje = Clock.Get(); DateTime nasc = val.Value.Date; if (nasc > hoje) { return("--"); } int idade = hoje.Year - nasc.Year; DateTime aniv = nasc.AddYears(idade); if (hoje < aniv) // se ainda não passou o aniversário { idade -= 1; // subtrai um ano } if (idade >= 1) // se a idade é maior ou igual a 1 ano, apresenta apenas o ano { return(PF.Format(idade, "{0} ano[:s]", idade)); } // para menores de 1 ano, apresenta apenas os meses int meses = hoje.Month - nasc.Month; if ((meses == 0 && hoje.Year > nasc.Year) || meses < 0) { meses += 12; } if (hoje < nasc.AddMonths(meses)) { meses -= 1; } return(PF.Format(meses, "{0} [mês:meses]", meses)); }
public string PluralForm(long n, string format, params object[] args) { return(PF.Format(n, fp, format, args)); }