Domanda

Dato un giorno della settimana (1-7), come posso calcolare qual è stata l'ultima data di quel giorno della settimana?

Esempio: oggi è mercoledì , 2008/11/12, e voglio sapere quale è stata l'ultima data di venerdì .

È stato utile?

Soluzione

Se oggi è il giorno corrente della settimana, puoi usare qualcosa del tipo:

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

Ciò presuppone che il venerdì sia rappresentato dal giorno numero 6 della settimana (ovvero 1 rappresenta la domenica). Quindi sottrai days_since_friday dalla data corrente e otterrai la data di fine della scorsa settimana.

L'espressione sopra è leggermente più complicata di quanto debba essere. Se il giorno della settimana è iniziato a 0 per domenica, si semplifica a:

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

o

days_since_friday = (today + 2) % 7

Altri suggerimenti

In generale? Vedi Calcoli calendari .

In questo caso più ristretto della settimana precedente? Trova la differenza in giorni (venerdì = 5, mercoledì = 3). Trova le differenze in settimane (ultima settimana = -7 giorni). Quando hai trovato l'offset in giorni + settimane, applica l'offset alla data del calendario.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top