Crea sito

Date, calcolare il giorno in modo semplice

A volte capita di aver bisogno di sapere il giorno della settimana di una specifica data, ad esempio il 17 marzo 2017 cade di venerdì, ebbene c’è un metodo velocissimo per calcolare il giorno della settimana a mente, senza fogli e calendari o consultare internet.

La formula è:

CodiceAnno + CodiceMese + NumeroGiorno = (Risultato) Modulo(7) => Codice Giorno

Il sistema si basa sull’aritmetica dell’orologio e tutti i calcoli come vedremo di seguito hanno a che fare con multipli di 7. Se volete approfondire la storia delle date, potete consultare wikipedia, un’ottima fonte di informazioni sul calendario Gregoriano e su quello Giuliano.

L’operazione Modulo

L’operazione Modulo è il resto della divisione intera, i programmatori conoscono bene tale operazione. 10 modulo 3 da risultato 1 (10/3 = 3 con resto 1), 14 modulo 5 da risultato 4 (14/5 = 2 con resto 4). Ovvio che 1 modulo 7 da risultato 1 (1/7 = 0 con resto di 1, questo perché se volete verificare la divisione dovete trovare un numero che moltiplicato per 7 dia il dividendo quindi 0 * 7 + 1(resto) = 1).

Calcolare il CodiceAnno

Per calcolare il codice anno basta prendere le ultime due cifre dell’anno ad esempio per il 2017 prendiamo il 17 e dividiamo per 4 prendendo dal risultato solo la parte intera 17/4 = 4 poi aggiungiamo il nostro risultato al 17, quindi 17+4 = 21 e infine sottraiamo il più grande multiplo di 7 inferiore alla somma, nel nostro caso 21 -21 = 0. Come vedete 17 è un anno particolare, ha codice 0 il che ci semplifica molto i calcoli.

Riassumendo la formula per CodiceAnno:

Ultime 2 cifre anno/4 => Parte intera risultato + ultime 2 cifre anno => Risultato - Più grande multiplo di 7 inferiore al risultato 

(Importante)Distinguere i bisestili

Di fondamentale importanza è distinguere gli anni bisestili, se il rapporto tra le ultime due cifre dell’anno e 4 è un numero intero senza resto, il nostro anno è bisestile, per gli anni secolari bisogna dividere per 400.

Esempi per capire meglio:
2017 => 17/4 = 4 con resto di 1, anno non bisestile
2016 => 16/4 = 4 con resto zero, anno bisestile
2000 => 2000/400 = 5 con resto zero,  anno bisestile
1900 => 1900/400 = 4 con resto 400,  anno non bisestile

Codice mese

Per il codice mese c’è poco da fare, bisogna imparare la tabella di seguito. Il metodo che uso io per ricordare i codici è associare i mesi a delle parole. Ad esempio Gennaio => F R E D D O, 6 lettere; Novembre 2, giorno dei morti e così via, voi potete usare il metodo che volete, l’importante e ricordare! (I codici dei mesi ovviamente sono calcolabili, ma il sistema è laborioso e fare i conti a mente diventa complicato).

tabella mesi

Codici Giorno

Infine i codici per risalire al giorno sono i più semplici:
Lunedì 1
Martedì 2
Mercoledì 3
Giovedì 4
Venerdì 5
Sabato 6
Domenica 7 o 0

Esempi

27 aprile 2017
17/4 = 4  => 17+4 = 21-21 = 0 CodiceAnno
aprile = 5 CodiceMese
CodiceAnno + CodiceMese + numeroGiorno = 0+5+27 = 32 Mod(7) = 4 Giovedì

8 marzo 1983
1983+28 = 2011 (Qui c’è il trucco per semplificare i calcoli,  aggiungere 28 o suoi multipli fino a date intorno al 2000)
11/4 = 2 => 11+2 = 13-7 = 6 CodiceAnno
6+2+8 = 16 Mod(7) = 2 Martedì