Het berekenen van de datum voor een dag van de week

stemmen
1

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.

De vraag is gesteld op 12/11/2008 om 20:45
bron van user
In andere talen...                            


2 antwoorden

stemmen
1

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
antwoordde op 12/11/2008 om 20:50
bron van user

stemmen
4

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.

antwoordde op 12/11/2008 om 20:53
bron van user

Cookies help us deliver our services. By using our services, you agree to our use of cookies. Learn more