Como descobrir o primeiro e o último dia do mês em C#

Criar uma data em C# com o primeiro dia do mês é simples, mas muita gente tem dúvida na hora de criar uma data com o último dia do mês, pois depende do mês. Logo pensam em toda uma lógica, com Switch-case, etc. Mas em C# isso é bem fácil. Vejamos ...

Se você tem uma data e deseja criar uma outra data para o primeiro dia do mês, basta criar um novo DateTime com o dia 1 usando o mês e o ano da primeira data. Veja no código abaixo.

//Vamos considerar que a data seja o dia de hoje, mas pode ser qualquer data.
DateTime data = DateTime.Today;

//DateTime com o primeiro dia do mês
DateTime primeiroDiaDoMes = new DateTime(data.Year, data.Month, 1);

Já pra criar um DateTime com o último dia do mês em C# temos que saber quantos dias tem no mês, para isso existe um método estático da struct DateTime que resolve esse problema.

public static int DaysInMonth(int year, int month);

Perceba que este método recebe o ano e mês como parâmetros e retorna a quantidade de dias daquele mês.

Considerando a mesma variável data do código anterior, o código abaixo mostra como criar o DateTime com o último dia do mês corrente.

//DateTime com o último dia do mês
DateTime ultimoDiaDoMes = new DateTime(data.Year, data.Month, DateTime.DaysInMonth(data.Year, data.Month));

Essa é uma dica rápida do { Dicas de Programação }. Se ficou com dúvida, pode perguntar nos comentários aí em baixo.

Twitter
Facebook
LinkedIn
Email