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á
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á
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!