Comment pourrais-je obtenir la date du jeudi de la semaine en cours? Par exemple, le jeudi de cette semaine est le 7/8/2010
Réponses
Trop de publicités?Vous pouvez le faire (bien que maladroitement) avec le DateTime .NET existant. Le truc consiste à utiliser l'énumération DayOfWeek
comme un entier - puisqu'elle désigne les jours de dimanche à samedi dans l'ordre numérique croissant (0-6).
DateTime someDay = DateTime.Today;
var daysTillThursday = (int)someDay.DayOfWeek - (int)DayOfWeek.Thursday;
var thursday = someDay.AddDays( daysTillThursday );
Ou encore plus simplement :
var today = DateTime.Today;
var thursday = today.AddDays(-(int)today.DayOfWeek).AddDays(4);
Découvrez cette bibliothèque : http://datetimeextensions.codeplex.com/
À partir des exemples sur la page d'accueil :
DateTime nextFriday = DateTime.Now.Next(DayOfWeek.Friday);
Code pseudo pour trouver le plus proche jeudi:
pour 0 à 3 comme x
si aujourd'hui + x jours est jeudi
retourner (aujourd'hui + x jours)
si aujourd'hui - x jours est jeudi
retourner (aujourd'hui - x jours)
Code pseudo pour trouver le jeudi de cette semaine:
regarderEnAvant = vrai
regarderEnArrière = vrai
PremierJourDeLaSemaine = Dimanche
pour 0 à 6 comme x
si aujourd'hui + x jours est PremierJourDeLaSemaine
regarderEnAvant = faux
si aujourd'hui - x jours est PremierJourDeLaSemaine
regarderEnArrière = faux
si regarderEnAvant et aujourd'hui + x jours est jeudi
retourner (aujourd'hui + x jours)
si regarderEnArrière et aujourd'hui - x jours est jeudi
retourner (aujourd'hui - x jours)
Désolé, je ne parle pas C# :)
- Réponses précédentes
- Plus de réponses