Tempo e data

Calcolatore giorni lavorativi

Conta i giorni lavorativi tra due date o aggiunge giorni lavorativi a una data di inizio, con regole per weekend e festività.

01Input
02Risultati
Giorni lavorativi
Data di fine
Giorni di calendario totali
Giorni di fine settimana
Vacanze
Ripartizione dei giorni
03Come funziona

Perché questo calcolo

Progettazione di progetti, scadenze contrattuali, termini di pagamento ("net 30 giorni lavorativi"), periodi di preavviso legali, finestre di risposta normative, fogli presenze per le buste paga — ogni posto di lavoro si basa sull'aritmetica dei giorni lavorativi, non sull'aritmetica dei giorni di calendario. L'aritmetica è ingannevolmente semplice in linea di principio ma tediosa in pratica: contare i giorni feriali in un intervallo, escludere opzionalmente le festività osservate e non saltare-poi-saltare-doppiamente una festività che cade nel fine settimana. I calendari d'ufficio lo fanno mentalmente per intervalli brevi (una settimana o due); per tutto ciò che supera un mese, farlo manualmente invita a errori che si manifestano in seguito come scadenze mancate o date di pagamento contestate. Questo calcolatore gestisce entrambe le direzioni della domanda — contando i giorni lavorativi tra due date specificate, o proiettando in avanti (o indietro) per un dato numero di giorni lavorativi da una data di inizio — e consente agli utenti di inserire un elenco di date festive separate da virgole che vengono saltate oltre ai fine settimana.

Le flag "salta sabato" e "salta domenica" sono indipendenti, quindi il calcolatore funziona per luoghi in cui la settimana lavorativa è da domenica a giovedì (Arabia Saudita, parti del Medio Oriente) e non solo il normale lunedì-venerdì.

La formula

Il calcolatore itera giorno per giorno sull'intervallo richiesto. Per ogni giorno di calendario visitato, classifica il giorno come:

  1. Fine settimana se il giorno della settimana è nel set da saltare (sabato e/o domenica).
  2. Festività se compare nell'elenco delle festività fornite dall'utente e non è già classificato come fine settimana.
  3. Giorno lavorativo altrimenti.

Per la modalità tra (conta i giorni lavorativi dalla data di inizio alla data di fine, inclusi):

  • Percorri ogni giorno dall'inizio alla fine (in entrambe le direzioni).
  • Conta i successi tra fine settimana / festività / giorni lavorativi.
  • Restituisci i quattro conteggi (lavorativi, fine settimana, festivi, totali).

Per la modalità aggiungi (data_inizio + N giorni lavorativi):

  • Percorri avanti (N > 0) o indietro (N < 0) un giorno di calendario alla volta.
  • Decrementa |N| solo quando il giorno è un giorno lavorativo.
  • Quando |N| raggiunge 0, quel giorno è la data del risultato.
  • Conta i successi tra fine settimana / festivi / giorni lavorativi lungo il percorso (fornisce visibilità completa su "abbiamo superato 3 giorni di fine settimana e 1 festività").

L'implementazione è O(intervallo) — va bene per intervalli fino a diversi anni; per intervalli > 100.000 giorni il percorso giorno per giorno rallenterebbe ma è ancora trattabile in JS del browser. L'alternativa a forma chiusa (moltiplicando settimane intere e tagliando gli estremi) è più veloce ma più difficile da gestire correttamente attorno alle festività che cadono nei fine settimana. Il percorso giorno per giorno è robusto per costruzione.

Come usare

Scegli la modalità: tra (conta i giorni lavorativi in un intervallo di date) o aggiungi (proietta avanti / indietro).

Inserisci la data di inizio (AAAA-MM-GG). Inserisci la data di fine (modalità tra) o i giorni da aggiungere (modalità aggiungi; negativo = sottrai).

Attiva salta sabati e salta domeniche per il modello di settimana lavorativa nella tua località.

Inserisci le festività come elenco separato da virgole, spazi o punti e virgola di date AAAA-MM-GG. Le festività che cadono in un fine settimana non vengono conteggiate due volte (sono già escluse come fine settimana).

Il pannello dei risultati mostra i giorni lavorativi come titolo principale, la data di fine risultante (in modalità aggiungi è la nuova data; in modalità tra è la data di fine di input ripetuta), i giorni di calendario totali e i conteggi dei giorni di fine settimana e festivi. Il grafico a barre mostra la ripartizione visivamente.

Esempio svolto

Giorni lavorativi del Q1 2026 (modalità tra, nessuna festività):

  • Inizio 2026-01-01, fine 2026-03-31.
  • Giorni di calendario totali: 90 (inclusi).
  • Sabati: 13. Domeniche: 13. Festività: 0.
  • Giorni lavorativi: 90 − 26 = 64.

Se aggiungiamo le festività 2026-01-01 (Capodanno), 2026-04-06 (Lunedì di Pasqua — ma è fuori dal Q1), 2026-05-01 (Festa del Lavoro, fuori dal Q1):

  • Tra queste, solo il 2026-01-01 rientra nell'intervallo; è un giovedì, quindi conta come festività.
  • Giorni lavorativi: 64 − 1 = 63.

+10 giorni lavorativi dal 04-05-2026 (un lunedì):

  • 4 maggio (lun) → +1 giorno lavorativo → si va al 5 maggio (mar) → +1 → 6 maggio → +1 → 7 maggio → +1 → 8 maggio (ven) → +1 → 9 maggio (sab, salta) → 10 maggio (dom, salta) → 11 maggio (lun) → +1 → 12 maggio → +1 → 13 maggio → +1 → 14 maggio → +1 → 15 maggio (ven).
  • Risultato: 2026-05-15 dopo 10 giorni lavorativi, superando 2 giorni di fine settimana.

Intervallo di progetto Aprile 2026 meno le due settimane di Pasqua:

  • Inizio 2026-04-01, fine 2026-04-30.
  • Festività 2026-04-06 (Lunedì di Pasqua), 2026-04-13 (un lunedì).
  • Giorni di calendario totali: 30. Sabati: 4 (4, 11, 18, 25). Domeniche: 4 (5, 12, 19, 26). Festività applicate: 2026-04-06 (lun, lavorativo → festivo), 2026-04-13 (lun, lavorativo → festivo).
  • Fine settimana: 8. Festività: 2.
  • Giorni lavorativi: 30 − 8 − 2 = 20.

Insidie

Estremi inclusi vs esclusi. Il calcolatore conta entrambi gli estremi in modalità tra (dall'1 aprile al 30 aprile = 30 giorni di calendario). Alcuni contesti legali ("giorni lavorativi dalla firma del contratto") contano solo i giorni successivi alla firma; controllare il linguaggio del contratto.

Festività nel fine settimana. Se la tua giurisdizione sposta una festività del fine settimana al lunedì successivo (osservanza federale USA), inserisci la data osservata, non quella effettiva. Il calcolatore non sposta automaticamente.

Festività di mezza giornata. La vigilia di Natale, la vigilia di Capodanno e simili osservanze di mezza giornata lavorativa sono specifiche della giurisdizione. Il calcolatore gestisce solo esclusioni di festività per l'intera giornata.

Fine settimana di mezza giornata (il sabato mattina è una mattinata lavorativa in alcuni settori tradizionali). Non modellato; il calcolatore salta completamente il sabato o lo conta interamente.

Festività del calendario religioso. Pasqua, Eid, Yom Kippur cambiano data di anno in anno. Calcola la data esternamente (Pasqua è un calcolo lunare del calendario gregoriano) e inseriscila; il calcolatore non incorpora risolutori di calendario religioso.

Fusi orari. Il calcolatore opera in UTC per stabilità aritmetica, ma utilizza la stringa AAAA-MM-GG fornita dall'utente così com'è. Per contratti in cui "giorno lavorativo" è definito da uno specifico fuso orario (ad es. ora di New York), quel confine di giorno/fuso orario potrebbe differire da quello locale; di solito la differenza non conta a livello di giorno, ma per contratti transfrontalieri a mezzanotte può contare.

Direzione di "aggiungi -10". Sottrarre giorni lavorativi cammina all'indietro. Si applica la stessa logica di salto-fine settimana: −10 giorni lavorativi da un lunedì produce il lunedì precedente a quello precedente, non "10 giorni di calendario fa".

Transizioni di confine anno. L'aritmetica è consapevole del calendario, inclusa la gestione del giorno bisestile (29 febbraio solo ogni 4 anni).

Diverse convenzioni di fine settimana. Gli Emirati Arabi Uniti sono passati da una settimana lavorativa domenica-giovedì a lunedì-venerdì nel 2022. Israele usa domenica-giovedì. L'Arabia Saudita usa domenica-giovedì. Le opzioni salta-sabato / salta-domenica ti permettono di modellarle — deseleziona salta-sabato e seleziona salta-venerdì tramite l'elenco delle festività (i venerdì per l'anno se è uno schema fisso).

Le festività sono limite inferiore, non cap . Il calcolatore salta le date elencate se altrimenti sarebbero lavorative. Non "aggiunge" festività; se una data è già un fine settimana, metterla nell'elenco delle festività è un'operazione nulla.

Festività fluttuanti non gestite automaticamente. Ringraziamento (quarto giovedì di novembre), Giorno del ricordo (ultimo lunedì di maggio), Festa della mamma — queste devono essere calcolate per l'anno di destinazione e inserite come date concrete. Il calcolatore è un motore puramente aritmetico.

Orizzonti lunghi. Gli intervalli superiori a 10 anni vengono calcolati correttamente ma il percorso al giorno è il percorso lento; per orizzonti molto lunghi, un approccio a forma chiusa settimane × 5 + taglio degli estremi è più veloce.

Variazioni

  • Modalità ore lavorative: estende i giorni lavorativi a ore lavorative aggiungendo una giornata lavorativa dalle 9:00 alle 17:00 e supporto per mezze giornate.
  • Modalità scadenza SLA: stessa aritmetica ma con granularità oraria e finestra SLA giornaliera.
  • Pacchetti festività specifici per paese: elenchi di festività precaricati (USA Federale, UE Schengen, FR pubbliche, festività bancarie UK).
  • Aritmetica dell'anno fiscale: conta i giorni lavorativi in un intervallo allineato all'anno fiscale.
  • Calcolo scadenza inversa: data una scadenza target, proietta N giorni lavorativi indietro per trovare la data "da iniziare entro".

Calcolatori correlati