Dando inicio a série de postagens com dicas úteis, códigos simples e funcionais que durante o dia-a-dia do desenvolvedor podem ser necessárias.
Hoje vou deixar uma função que pode ajudar bastante, ela conta quantos dias úteis existem entre duas datas, melhor dizendo em um período e a principio sem considerar feriados. Claro que apesar de não ter feriados é possível que você estenda esta ideia e incluir na lógica para não contar feriados também, por exemplo, ter um cadastro com os feriados e dias não trabalhados e ir consultando por uma lista com LINQ (find).
Segue o método:
public int GetDiffDays(DateTime initialDate, DateTime finalDate)
{
int days = 0;
int daysCount = 0;
days = initialDate.Subtract(finalDate).Days;
//Módulo
if (days < 0)
days = days * -1;
for (int i = 1; i <= days; i++)
{
initialDate = initialDate.AddDays(1);
//Conta apenas dias da semana.
if (initialDate.DayOfWeek != DayOfWeek.Sunday &&
initialDate.DayOfWeek != DayOfWeek.Saturday)
daysCount++;
}
return daysCount;
}
Por hoje é isso, simples assim. “Quem complica se estrumbica”.
Aproveitando, caso você queria algum tópico escreva e deixe a sua sugestão.
Siga-me no twitter: @thiagosatoshi
“A mente que se abre a uma nova idéia jamais voltará a seu tamanho original.” – Albert Einstein
Join the forum discussion on this post