Contare le date: giorni tra due date, anni bisestili e settimane ISO
Contare le date sembra semplice aritmetica, finché il calcolo di una scadenza non esce con un giorno in meno, un pagamento mensile non finisce nel giorno sbagliato o Excel non insiste che il 29 febbraio 1900 sia esistito. Il calendario è irregolare: i mesi hanno quattro lunghezze diverse, alcuni anni hanno un giorno in più, le settimane non si incastrano bene negli anni e, in molti paesi, in due giorni all’anno l’orologio salta o ripete un’ora. Questa guida spiega come contare giorni, anni bisestili e numeri di settimana, e come scrivere una data in modo che nessuno la fraintenda.
Contare i giorni tra due date
Il numero di giorni tra due date è la data successiva meno quella precedente. Dal 1° marzo al 10 marzo ci sono 9 giorni: si contano i giorni che passano, quindi uno dei due estremi resta fuori — proprio come dal lunedì al martedì c’è un giorno. Se contano sia il primo sia l’ultimo giorno — i giorni di un festival o i giorni di ferie che prendi — aggiungi uno, e il risultato è 10. Entrambe le risposte sono giuste; contano cose diverse, quindi decidi quale ti serve prima di cominciare.
Le scadenze legali seguono regole stabilite dalla legge. Nell’Unione europea, il regolamento (CEE, Euratom) n. 1182/71 stabilisce le regole che valgono, in mancanza di disposizioni diverse, per i termini negli atti del Consiglio e della Commissione: quando un periodo decorre da un evento, il giorno dell’evento non si conta, un periodo espresso in giorni termina alla fine del suo ultimo giorno e, se quel giorno è un sabato, una domenica o un giorno festivo, il periodo si prolunga fino alla fine del giorno lavorativo successivo. Leggi nazionali, contratti e tribunali possono contare in modo diverso, quindi per una scadenza reale verifica la regola che le si applica.
Un anno ha 365 giorni, o 366 quando è bisestile. Dal 1° gennaio 2026 al 1° gennaio 2027 ci sono 365 giorni; dal 1° gennaio 2028 al 1° gennaio 2029 ce ne sono 366, perché il 2028 è bisestile.
1° marzo → 10 marzo9 giorni. Contando entrambi gli estremi, 10.1° gennaio 2026 → 1° gennaio 2027365 giorni.1° gennaio 2028 → 1° gennaio 2029366 giorni: il 2028 ha un 29 febbraio.
Un giorno non dura sempre 24 ore
Dove gli orologi cambiano per l’ora legale, un giorno all’anno dura 23 ore e un altro 25. Nell’Unione europea, dove il cambio dell’ora avviene l’ultima domenica di marzo e l’ultima domenica di ottobre (vedi la prima parte di questa serie), nel 2026 queste date sono il 29 marzo e il 25 ottobre. Così, dal 1° marzo al 1° aprile 2026 a Lisbona ci sono 31 giorni di calendario, ma solo 743 ore, non 744.
Per questo moltiplicare i giorni per 24, o dividere le ore per 24, dà risultati sbagliati quando di mezzo c’è un cambio dell’ora. Lo strumento «Tempo da una data» conta i giorni sul calendario e le ore come tempo effettivamente trascorso, quindi in modalità «Tra due date», su un dispositivo impostato sull’ora di Lisbona, per quel periodo mostra 31 giorni e 743 ore. Quando conta l’ora del giorno, come per una riunione o un volo, converti tenendo conto del fuso orario, non con un numero fisso di ore.
Gli anni bisestili
Un anno bisestile aggiunge il 29 febbraio per mantenere il calendario al passo con le stagioni. La regola del calendario gregoriano, nella formulazione dello US Naval Observatory: ogni anno esattamente divisibile per quattro è bisestile, tranne gli anni esattamente divisibili per 100, che sono bisestili solo se sono divisibili anche per 400. Così il 2000 è stato bisestile, il 1900 no, e il 2100 non lo sarà.
In un ciclo di 400 anni questo dà 97 giorni bisestili, per un anno medio di 365,2425 giorni. Il calendario gregoriano fu introdotto nel 1582, quando al 4 ottobre seguì direttamente il 15 ottobre, ma i vari paesi lo adottarono in momenti diversi: la Gran Bretagna e le sue colonie passarono al nuovo calendario nel 1752, quando al 2 settembre seguì il 14 settembre. Le date anteriori al passaggio di un paese possono essere state scritte nel precedente calendario giuliano, quindi le date storiche vanno verificate rispetto al calendario in uso all’epoca.
Excel ha una celebre eccezione. Microsoft afferma che Excel considera erroneamente il 1900 un anno bisestile, una scelta fatta per compatibilità con Lotus 1-2-3, e che la sua funzione WEEKDAY (GIORNO.SETTIMANA nella versione italiana di Excel) restituisce valori errati per le date anteriori al 1° marzo 1900. Dal 1° marzo 1900 in poi non fa alcuna differenza.
| Anno | Bisestile? | Perché |
|---|---|---|
2024 | Sì | Divisibile per 4. |
2026 | No | Non divisibile per 4. |
2028 | Sì | Divisibile per 4. |
1900 | No | Divisibile per 100 ma non per 400. |
2000 | Sì | Divisibile per 400. |
2100 | No | Divisibile per 100 ma non per 400. |
I mesi hanno lunghezze diverse
Aggiungere un mese è più complicato di quanto sembri, perché lo stesso giorno non esiste in tutti i mesi. Un mese dopo il 31 gennaio non ha una risposta ovvia, perché febbraio non ha il giorno 31. Sistemi diversi fanno scelte diverse. In JavaScript, impostare su febbraio una data del 31 gennaio 2026 fa sconfinare il giorno in marzo e dà il 3 marzo 2026. Il regolamento UE sui termini segue l’approccio opposto: quando un periodo espresso in mesi o in anni dovrebbe terminare in un giorno che non esiste nell’ultimo mese, termina alla fine dell’ultimo giorno di quel mese — il 28 febbraio nel 2026, o il 29 febbraio in un anno bisestile.
Quando conta il giorno del mese, come per un affitto o un abbonamento in scadenza il 31, concorda in anticipo cosa succede nei mesi più corti. Contare in giorni evita del tutto il problema, al prezzo di una data che si sposta da un mese all’altro.
Compleanni il 29 febbraio
Chi è nato il 29 febbraio ha un compleanno sul calendario solo negli anni bisestili, e ogni calcolo dell’età deve decidere cosa succede negli altri anni. Il Calcolatore dell’età considera il 1° marzo come compleanno negli anni non bisestili: l’età aumenta il 1° marzo, ed è questa la data che indica come prossimo compleanno.
La legge varia da paese a paese, e molte leggi non dicono nulla in proposito. L’Age of Legal Capacity (Scotland) Act 1991, per esempio, stabilisce che chi è nato il 29 febbraio raggiunge una data età il 1° marzo. Per un’età legale, come per un contratto o una pensione, verifica la regola del paese interessato.
I numeri di settimana ISO
Lo standard internazionale per i numeri di settimana è ISO 8601: le settimane iniziano di lunedì, e la settimana 1 è quella che contiene il primo giovedì dell’anno — cioè la stessa settimana che contiene il 4 gennaio. Un anno ha quindi 52 o 53 settimane.
A ridosso del 1° gennaio l’anno della numerazione delle settimane può differire dall’anno di calendario. Il 1° gennaio 2026 è un giovedì, quindi la settimana 1 del 2026 va da lunedì 29 dicembre 2025 a domenica 4 gennaio 2026. Il 2026 ha 53 settimane, perché inizia di giovedì, e i giorni dal 1° al 3 gennaio 2027 appartengono alla sua settimana 53. Esistono altre convenzioni, alcune delle quali fanno iniziare le settimane di domenica o contano come settimana 1 quella che contiene il 1° gennaio, quindi la stessa data può avere numeri di settimana diversi in software diversi; prima di fare confronti, verifica quale sistema usa un calendario.
| Data | Giorno della settimana | Settimana ISO |
|---|---|---|
29 dicembre 2025 | Lunedì | 2026-W01 |
1° gennaio 2026 | Giovedì | 2026-W01 |
31 dicembre 2026 | Giovedì | 2026-W53 |
1° gennaio 2027 | Venerdì | 2026-W53 |
4 gennaio 2027 | Lunedì | 2027-W01 |
1° gennaio 2028 | Sabato | 2027-W52 |
Scrivere le date: YYYY-MM-DD
07/10/2026 significa 7 ottobre nel Regno Unito, in Francia, in Portogallo, in Brasile e nella maggior parte degli altri paesi che mettono prima il giorno, ma 10 luglio negli Stati Uniti. La data di calendario ISO 8601 elimina il dubbio mettendo per prima l’unità più grande: 2026-10-07, con l’anno a quattro cifre e il mese e il giorno a due cifre.
Scritte così, le date si ordinano correttamente anche come semplice testo. La RFC 3339, il profilo di ISO 8601 per internet, osserva che disporre i componenti dal meno preciso al più preciso rende le stringhe di data ordinabili come testo, purché usino tutte lo stesso formato. Per questo i nomi di file e le esportazioni di fogli di calcolo che iniziano con 2026-10-07 si mettono da soli in ordine di data. La prima parte di questa serie tratta l’ora del giorno, gli offset UTC e i fusi orari.
Domande frequenti
Quanti giorni ci sono tra due date?
Sottrai la data precedente da quella successiva: dal 1° al 10 marzo ci sono 9 giorni. Se devi contare sia il primo sia l’ultimo giorno, aggiungi uno.
Perché il 2100 non è bisestile?
Gli anni divisibili per 100 sono bisestili solo se sono divisibili anche per 400. Il 2000 lo era, il 2100 non lo è, e il prossimo anno secolare bisestile dopo il 2000 è il 2400.
In quale settimana cade il 1° gennaio?
Dipende dal giorno della settimana. Se cade tra lunedì e giovedì, è nella settimana 1 del nuovo anno; se cade tra venerdì e domenica, appartiene all’ultima settimana dell’anno precedente, come il 1° gennaio 2027 appartiene alla settimana 53 del 2026.
Perché Excel accetta il 29 febbraio 1900?
Excel tratta il 1900 come anno bisestile per compatibilità con Lotus 1-2-3, come documenta Microsoft. Il 1900 non era bisestile; l’errore riguarda solo le date anteriori al 1° marzo 1900.
Quando compie gli anni chi è nato il 29 febbraio?
Il 29 febbraio negli anni bisestili. Negli altri anni è una questione di convenzione o di legge: il Calcolatore dell’età usa il 1° marzo, come fa la legge scozzese, ma le regole sull’età legale variano da paese a paese.
Precedente della serie ← Timestamp Unix e fusi orari spiegati
Riferimenti
- US Naval Observatory — Leap Years
- US Naval Observatory — Introduction to Calendars
- Calendar (New Style) Act 1750
- Regulation (EEC, Euratom) No 1182/71 determining the rules applicable to periods, dates and time limits (1971)
- Directive 2000/84/EC on summer-time arrangements (2001)
- Microsoft Learn — Excel incorrectly assumes that the year 1900 is a leap year
- Microsoft Learn — DATEPART (Transact-SQL): week and ISO week
- MDN Web Docs — Date.prototype.setMonth()
- Age of Legal Capacity (Scotland) Act 1991, section 6
- WHATWG HTML Standard — Weeks
- ISO — ISO 8601 Date and time format
- RFC 3339 — Date and Time on the Internet: Timestamps (July 2002)
Guide correlate
- Indirizzi IP spiegati: IPv4, IPv6 e gli intervalli riservati
- Sottoreti e CIDR spiegati: prefissi, maschere e host utilizzabili
- Record DNS spiegati: A, AAAA, CNAME, MX, TXT e NS
- Timestamp Unix e fusi orari spiegati
- Formati immagine spiegati: JPEG, PNG, WebP, AVIF e HEIC
- Robustezza delle password spiegata: lunghezza, entropia e passphrase
- Gli UUID spiegati: v4, v7 e come scegliere la versione giusta
- I codici QR spiegati: capacità, correzione degli errori e dimensioni di stampa
- Percentuali e IVA spiegate: aggiungere, scorporare e cumulare
- Errori comuni nel JSON e come correggerli
- Modificare i PDF nel browser: cosa conservano unione, divisione e conversione