1
resposta

Como colocar o valor do Humanizer em meses?

Gostaria de saber se quando usamos o Humanizer se é possível fazer aparecer a quantidade de meses no lugar de semana. Se não for possivel usando o Humanizer se seria possível usando alguma outra forma.

obg desde de já

1 resposta

Olá, Enrico

Sim, é possível utilizar o Humanizer para exibir a quantidade de meses no lugar de semanas. O Humanizer é uma biblioteca muito útil para tornar o texto mais legível para as pessoas.

No caso específico de exibir a quantidade de meses, você pode utilizar o método Humanize() da classe TimeSpanHumizeExtensions, passando o TimeSpan desejado como parâmetro. Por exemplo:

DateTime dataFimPagamento = new DateTime(2018, 6, 30);
DateTime dataCorrente = DateTime.Now;

TimeSpan diferenca = dataFimPagamento - dataCorrente;

string mensagem = "Vencimento em " + TimeSpanHumizeExtensions.Humanize(diferenca);
Console.WriteLine(mensagem);

Se o valor de diferenca for menor que um mês, o Humanizer irá exibir a quantidade de semanas. Mas se for maior ou igual a um mês, ele irá exibir a quantidade de meses. Por exemplo, se a diferença for de 2 meses, a mensagem será "Vencimento em 2 meses".

Caso você queira utilizar outra forma de exibir a quantidade de meses, existem outras bibliotecas disponíveis que podem te ajudar. Uma delas é a NodaTime, que é uma biblioteca de data e hora para .NET. Com ela, você pode fazer algo como:

DateTime dataFimPagamento = new DateTime(2018, 6, 30);
DateTime dataCorrente = DateTime.Now;

Period periodo = Period.Between(dataCorrente, dataFimPagamento);

string mensagem = "Vencimento em " + periodo.Months + " meses";
Console.WriteLine(mensagem);

Dessa forma, você terá a quantidade de meses exibida diretamente.

Espero ter ajudado e bons estudos!