Gegeven een week-dag (1-7), hoe kan ik berekenen wat dat week-dag de laatste dag was?
Voorbeeld: Vandaag is het woensdag , 2008/11/12, en ik wil weten wat er afgelopen vrijdag date was.
Gegeven een week-dag (1-7), hoe kan ik berekenen wat dat week-dag de laatste dag was?
Voorbeeld: Vandaag is het woensdag , 2008/11/12, en ik wil weten wat er afgelopen vrijdag date was.
Als todayis de huidige dag van de week, dan kun je zoiets als te gebruiken:
days_since_friday = (((today - 1) + 7) - (6 - 1)) % 7
Dit veronderstelt dat vrijdag wordt vertegenwoordigd door dag nummer 6 van de week (dat wil zeggen, 1 staat voor zondag). Dan trekt u days_since_fridayuit de huidige datum, en je zult de datum van het einde van vorige week te krijgen.
De bovenstaande formule is iets gecompliceerder dan nodig zijn. Als de dag van de week begon op 0 voor zondag, het vereenvoudigt naar:
days_since_friday = ((today + 7) - 5) % 7
of
days_since_friday = (today + 2) % 7
In het algemeen? Zie calendrical Berekeningen .
In dit smallere geval van in de afgelopen week? Zoek het verschil in dagen (vrijdag = 5, woensdag = 3). Zoek de verschillen in de weken (laatste week = -7 dagen). Wanneer je hebt gevonden de verschuiving in dagen + weken gelden dat offset naar de kalender datum.