示例#1
0
        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));
        }
示例#2
0
 public string PluralForm(long n, string format, params object[] args)
 {
     return(PF.Format(n, fp, format, args));
 }