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á
Você está vendo a versão anterior da nova experiência da Alura que estamos preparando para você. Em breve, ela ganha uma identidade visual novinha totalmente pensada em potencializar seus estudos!
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!