Calculer le Nombre de lundis dans un Mois
Je veux calculer le nombre de semaines dans un mois.
La première semaine de janvier 2014, à partir du premier lundi est le 6ème. Ainsi, de janvier a 4 semaines.
La première semaine de Mars 2014, à partir du premier lundi est le 3ème. De la sorte, Mars a 5 semaines.
Je veux savoir combien de semaines il y a un mois, à compter à partir du premier lundi, pas le premier jour.
Comment puis-je faire cela?
J'ai ce code mais il est utilisé pour obtenir le numéro de la semaine mois pour des dates précises.
public int GetWeekNumberOfMonth(DateTime date)
{
date = date.Date;
DateTime firstMonthDay = new DateTime(date.Year, date.Month, 1);
DateTime firstMonthMonday = firstMonthDay.AddDays((DayOfWeek.Monday + 7 - firstMonthDay.DayOfWeek) % 7);
if (firstMonthMonday > date)
{
firstMonthDay = firstMonthDay.AddMonths(-1);
firstMonthMonday = firstMonthDay.AddDays((DayOfWeek.Monday + 7 - firstMonthDay.DayOfWeek) % 7);
}
return (date - firstMonthMonday).Days / 7 + 1;
}
- Si vous voulez vraiment le nombre de lundis dans un mois civil donné?
- faire u un code à nous montrer
- Je veux juste savoir combien de semaine dans le mois, mais comptés à partir du premier lundi, pas le premier jour.
- Dans quelles situations qui serait différent de "le nombre de lundis du mois"? (C'est un simple concept à calculer, au moins.)
Vous devez vous connecter pour publier un commentaire.
Essayez ceci:
Obtenir le nombre de jours dans le mois en cours, et de trouver le premier jour. Pour chaque jour dans le mois, voir si le jour est un lundi, le cas échéant, incrémenter la valeur.
Vous pouvez l'utiliser comme ça avec la date en cours:
De sortie:
4
ou avec n'importe quel mois, à vous de choisir:
Juste correction de Cyral code :
je dois repartir de 0, comme il l'est à l'aide de AddDays méthode .
Raison :l'exemple ci-dessus renvoie 5 pour NOV et 4 pour DEC qui est faux..
Édité code :
J'ai essayé d'utiliser ce code, mais dans certains cas ça ne fonctionne pas. J'ai donc trouvé ce code sur le site MSDN.
Je l'ai créé comme une extension de la méthode, donc je peux l'utiliser comme ça: