Come un computer calcola il giorno della settimana per qualsiasi data
Ogni data da quando è entrato in vigore il calendario gregoriano ha esattamente un giorno della settimana corretto e può essere calcolata solo con l'aritmetica: non sono necessarie app di calendario o tabelle di ricerca. L'idea di fondo è la stessa formalizzata dalla congruenza di Zeller e dal metodo di Sakamoto: contare il numero totale di giorni a partire da un punto di riferimento noto, quindi prendere quel conteggio modulo 7 per arrivare a un giorno feriale.
Il software moderno non esegue letteralmente la classica formula Zeller – in genere tiene traccia del conteggio dei giorni utilizzando internamente un calendario gregoriano prolettico – ma il risultato è matematicamente identico a ciò che calcolano quegli algoritmi carta e penna. Questa coerenza è esattamente il motivo per cui questa calcolatrice, un almanacco cartaceo e un trucco di matematica mentale concordano tutti sulla stessa risposta per la stessa data.
Il turno di un giorno (o due giorni), anno dopo anno
Un anno normale dura 365 giorni: esattamente 52 settimane più un giorno extra. Quel giorno rimanente è il motivo per cui una data fissa, ad esempio il 4 luglio, avanza esattamente di un giorno feriale ogni anno: martedì un anno, mercoledì quello successivo e così via.
Gli anni bisestili interrompono questo schema costante. Poiché il 29 febbraio viene inserito durante l'anno, qualsiasi data dal 1 marzo in poi salta avanti di due giorni feriali anziché di uno, rispetto all'anno precedente. Le date di gennaio e febbraio non vengono influenzate finché il giorno bisestile non è effettivamente trascorso.
C'è un ulteriore problema nel segno del secolo: gli anni divisibili per 100 non sono anni bisestili a meno che non siano anche divisibili per 400. L'anno 2000 era un anno bisestile secondo quella regola; Il 1900 non lo era, e non lo sarà nemmeno il 2100: un dettaglio che conta se stai calcolando i giorni feriali nel passato o nel futuro.
Controllo dei giorni feriali per le date storiche
Poiché il giorno della settimana è una proprietà fissa della data stessa, questo stesso calcolo funziona per verificare i documenti storici, confermando un evento documentato effettivamente accaduto nel giorno della settimana affermato da una fonte o calcolando in quale giorno della settimana è nato un lontano antenato.
Un avvertimento per le date prima del 1582: il calendario in uso prima della riforma gregoriana (il calendario giuliano) funzionava con regole per gli anni bisestili leggermente diverse, quindi i calcoli dei giorni feriali per le date precedenti a quel cambiamento dipendono dal calendario utilizzato dalla documentazione storica stessa.
Oltre una singola data: occorrenze e conteggi dei giorni feriali
Una volta che riesci a calcolare un giorno della settimana per una data, altre tre domande utili emergono dallo stesso calcolo:
- Next/previous occurrence — the closest date before or after a given day that falls on a specific weekday, useful for finding "the next Friday" from any starting point.
- Conta i giorni feriali: quante volte un determinato giorno feriale (ad esempio, lunedì) si verifica all'interno di un intervallo di date, che è lo stesso calcolo dietro il conteggio dei periodi di paga o delle date delle riunioni ricorrenti.
- Trova tutte le occorrenze: un elenco completo di tutte le date in cui rientra un giorno della settimana specifico all'interno di un intervallo, utile per pianificare tutto ciò che si ripete settimanalmente.
Se invece ciò di cui hai bisogno è il numero esatto di giorni tra due date o un conto alla rovescia fino a una data target, il file Contatore del giorno lo gestisce direttamente. Per aggiungere o sottrarre anni, mesi o settimane da una data, vedere il Calcolatore della data.