2008-11-12 13 views
1

Étant donné un jour de la semaine (1-7), comment puis-je calculer la date du dernier jour de la semaine?Date de calcul pour un jour de la semaine

Exemple: Aujourd'hui est mercredi, 2008/11/12, et je veux savoir ce dernier vendredi était de la date.

Répondre

1

Si today est le jour de la semaine, vous pouvez utiliser quelque chose comme:

days_since_friday = (((today - 1) + 7) - (6 - 1)) % 7 

Cela suppose que vendredi est représenté par le nombre de jour 6 de la semaine (soit 1 représente dimanche). Puis soustrayez days_since_friday de la date actuelle, et vous obtiendrez la date de la fin de la semaine dernière.

L'expression ci-dessus est légèrement plus compliquée qu'elle ne devrait l'être. Si votre jour de la semaine a commencé à 0 pour le dimanche, il simplifie:

days_since_friday = ((today + 7) - 5) % 7 

ou

days_since_friday = (today + 2) % 7 
+0

est "aujourd'hui" le jour de la semaine ou le jour du mois? – lamcro

+0

"aujourd'hui" est le jour de la semaine. –

+0

ok, je comprends maintenant. Merci. – lamcro

4

En général? Voir Calendrical Calculations.

Dans ce cas plus étroit de la semaine précédente? Trouvez la différence en jours (vendredi = 5, mercredi = 3). Trouvez les différences en semaines (dernière semaine = -7 jours). Lorsque vous avez trouvé le décalage en jours + semaines, appliquez ce décalage à la date du calendrier.