Dato un giorno della settimana (1-7), come posso calcolare quale ultima data quella settimana-giorno era?
Esempio: Oggi è Mercoledì , 2008/11/12, e voglio sapere che cosa ultimo di Venerdì data è stato.
Dato un giorno della settimana (1-7), come posso calcolare quale ultima data quella settimana-giorno era?
Esempio: Oggi è Mercoledì , 2008/11/12, e voglio sapere che cosa ultimo di Venerdì data è stato.
Se todayè l'attuale giorno della settimana, quindi è possibile utilizzare qualcosa di simile a:
days_since_friday = (((today - 1) + 7) - (6 - 1)) % 7
Questo presuppone che Venerdì è rappresentato dal giorno numero 6 della settimana (cioè, 1 rappresenta la Domenica). Quindi sottrarre days_since_fridaydalla data corrente, e si otterrà la data della fine della scorsa settimana.
L'espressione precedente è leggermente più complicato di quello che deve essere. Se il giorno della settimana è iniziata a 0 per Domenica, semplifica a:
days_since_friday = ((today + 7) - 5) % 7
o
days_since_friday = (today + 2) % 7
In generale? Vedere Calcoli Calendrical .
In questo caso più ristretto di entro la settimana precedente? Trova la differenza in giorni (Venerdì = 5, Mercoledì = 3). Trova le differenze di settimane (la settimana scorsa = -7 giorni). Quando hai trovato l'offset in giorni + settimane, applicare tale ritardo alla data del calendario.