Dupliquer possible:
Comment obtenir le dernier jour d'un mois?Jusqu'à présent, j'ai ceci:
DateTime createDate = new DateTime(year, month, 1).AddMonths(1).AddDays(-1);
Y a-t-il un meilleur moyen?
Réponses
Trop de publicités? Que diriez-vous d'utiliser DaysInMonth
:
DateTime createDate = new DateTime (year, month,
DateTime.DaysInMonth(year, month));
(Note à moi-même - cela doit être facile dans Noda Time ...)
Øyvind Bråthen
Points
25211
Donald
Points
926
Voici une approche élégante que j'ai trouvée dans une bibliothèque d'extension DateTime utile sur CodePlex:
http://datetimeextensions.codeplex.com/
Voici un exemple de code:
public static DateTime First(this DateTime current)
{
DateTime first = current.AddDays(1 - current.Day);
return first;
}
public static DateTime First(this DateTime current, DayOfWeek dayOfWeek)
{
DateTime first = current.First();
if (first.DayOfWeek != dayOfWeek)
{
first = first.Next(dayOfWeek);
}
return first;
}
public static DateTime Last(this DateTime current)
{
int daysInMonth = DateTime.DaysInMonth(current.Year, current.Month);
DateTime last = current.First().AddDays(daysInMonth - 1);
return last;
}
Il a également quelques autres extensions utiles qui pourraient vous être utiles.
Charles Bretana
Points
59899