1
resposta

Como faz para o Humanizer mostrar meses e anos?

No exercício anterior conseguíamos mostrar quantos meses faltavam para uma determinada data (na verdade só considerava que "30 dias = 1 mês"), estive fazendo alguns testes aqui com o Humanizer e notei que se colocar uma data muito distante ele prefere exibir "900 semanas" do que converter esse numero para meses/anos.

Tem algo na configuração dele que pode modificar isso?

Fucei aqui e consegui fazer ele exibir o número de semanas e o de dias, além de mudar o idioma:

            string mensagem = "Vencimento em " + TimeSpanHumanizeExtensions.Humanize(diferenca, 2, System.Globalization.CultureInfo.GetCultureInfo("fr")) + ".";

Nesse caso o 2º argumento faz exibir os dias tambem e o 3º argumento é o idioma que quiser.

Mas como mostrar meses não consegui.

1 resposta

Olá Jillsea, tudo bem?

Conseguimos mostrar quantos anos faltam ou os meses, os dois juntos com o biblioteca Humanizer não é possível.

Primeiro adicione a diretiva using Humanizer.Localisation;, segue o código para teste:

string mensagem = "Vencimento em " + TimeSpanHumanizeExtensions.Humanize(diferenca, maxUnit: TimeUnit.Month) + ".";
 string mensagem2 = "Vencimento em " + TimeSpanHumanizeExtensions.Humanize(diferenca, maxUnit: TimeUnit.Year) + ".";

            Console.WriteLine(mensagem, System.Globalization.CultureInfo.GetCultureInfo("PT-BR"));
            Console.WriteLine(mensagem2, System.Globalization.CultureInfo.GetCultureInfo("PT-BR"));

Este curso é só sobre formatação. Utilizamos uma biblioteca da Caelum, é um excelente curso.

Abraços e bons estudos!