Giorni lavorativi fino a una data, esclusi weekend e festività
Da venerdì 3 a venerdì 10 luglio 2026 restano 4 giorni lavorativi se lunedì 6 luglio è festivo. Indichi la data di partenza, la data obiettivo e le sue chiusure e vedrà i giorni di lavoro che mancano. Gratis nel suo browser.
- Gratis
- Funziona nel suo browser
- Senza registrazione
- I suoi dati restano sul dispositivo
Esegui gratis nel browser
Esempio risolto
- Data di riferimento
- 2026-07-03
- Data di destinazione
- 2026-07-10
- Festività
- 2026-07-06, 2026-07-06, 2026-07-04
- Giorni lavorativi
- 4
- Giorni di calendario
- 7
- Festività escluse
- 1
Questo calcolatore misura il tempo lavorativo tra una data di riferimento esplicita e una data obiettivo esplicita. Esclude sabati e domeniche, sottrae le festività feriali indicate da Lei e non dipende mai dalla data odierna o dal fuso del dispositivo. La data di riferimento è esclusa e quella obiettivo inclusa. Un obiettivo precedente produce un valore negativo, utile sia per scadenze future sia per traguardi già superati.
Definisca un riferimento e un obiettivo
Il calcolo esclude il riferimento e include l’obiettivo. Se il riferimento è venerdì e l’obiettivo il lunedì seguente, il risultato è un giorno lavorativo: lunedì. Date identiche restituiscono zero.
Questa convenzione evita di ricontare una giornata conclusa ed è adatta a scadenze, verifiche e archivi. Gli input vengono validati, non normalizzati. Poiché entrambe le date sono esplicite, una vecchia richiesta rimane sempre riproducibile.
Escluda le chiusure realmente pertinenti
Sabati e domeniche non vengono mai conteggiati. Usi l’array facoltativo holidays per le chiusure della Sua organizzazione, mercato, contratto o progetto, sempre nel formato ISO rigoroso. Lo strumento non scarica calendari nazionali e non presume una regione, perché le regole variano e possono cambiare.
Lei fornisce le date osservate esatte. È quindi possibile spiegare la differenza fra il conteggio che esclude solo i weekend e il risultato finale. Per una festività sostitutiva, indichi il giorno feriale effettivamente osservato.
Si affidi a un calcolo UTC riproducibile
Il risolutore usa esclusivamente interi per anno, mese e giorno gregoriani. Non crea oggetti Date JavaScript, non legge l’orologio, non consulta fusi, non accede alla rete e non usa casualità. Evita così gli errori dei cambi d’ora, quando i timestamp possono incontrare giornate di ventitré o venticinque ore.
Il browser esegue lo stesso risolutore puro.
Casi d'uso
Monitorare una consegna
Misuri i giorni lavorativi rimasti fra un controllo registrato e la consegna contrattuale con le chiusure del team.
Riprodurre un calcolo SLA
Conservi date e festività con il ticket per ricalcolare il risultato durante una verifica successiva.
Controllare una scadenza finanziaria
Conti i giorni operativi fino a una dichiarazione, liquidazione o paga senza spostamenti dovuti al fuso.
Domande frequenti
Le festività vengono caricate automaticamente?
No. Indichi le date esatte della Sua politica per mantenere il calcolo esplicito e riproducibile.
Come vengono trattate festività duplicate o nel weekend?
I duplicati sono rimossi e le festività nel weekend non generano una seconda sottrazione.
Fuso orario o ora legale cambiano la risposta?
No. Il risolutore usa aritmetica gregoriana pura con semantica UTC e non legge l’ora locale.
Il giorno di partenza viene contato?
No. Il giorno di partenza resta fuori e la data obiettivo conta, perché la domanda è quanto lavoro resta dopo un giorno noto. Da un venerdì al lunedì successivo il risultato è 1, e due date uguali danno 0.
E se la data obiettivo è già passata?
Ottiene un numero negativo di giorni lavorativi. Scambiare le due date cambia solo il segno, quindi lo stesso calcolo descrive sia le scadenze future sia le tappe già superate.
Strumenti correlati
Per sviluppatori — accesso via API
Tutto quello che vedi in questa pagina è disponibile anche via API. Questa sezione è per i team che vogliono integrarlo nei propri sistemi; chi non ne ha bisogno può semplicemente usare lo strumento qui sopra.
Endpoint
Autenticazione con Bearer token: un POST mette in coda l'attività e il risultato arriva via webhook o link firmato.
Chiamala dal tuo stack
curl -X POST https://api.kit.forhosting.com/date/business-days-until-date \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"reference_date":"2026-07-03","target_date":"2026-07-10"}'const res = await fetch("https://api.kit.forhosting.com/date/business-days-until-date", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"reference_date": "2026-07-03",
"target_date": "2026-07-10"
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/date/business-days-until-date",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"reference_date": "2026-07-03",
"target_date": "2026-07-10"
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/date/business-days-until-date", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"reference_date":"2026-07-03","target_date":"2026-07-10"}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"reference_date":"2026-07-03","target_date":"2026-07-10"}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/date/business-days-until-date", body)
req.Header.Set("Authorization", "Bearer "+os.Getenv("KIT_KEY"))
req.Header.Set("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)Esempio di richiesta
{
"reference_date": "2026-07-03",
"target_date": "2026-07-10"
}Esempio di risposta
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "date.business_days_until_date",
"status": "queued",
"_links": {
"result": "/tasks/tsk_…/result"
}
}L'API è asincrona: ricevi subito un task_id e puoi fare polling fino a 1 richiesta al secondo.
Prezzi
Prezzo pubblicato, senza token né crediti. Se l'attività fallisce, non paghi.
Limiti
max_holidays | 10000 |
Errori
| HTTP | Codice | Significato |
|---|---|---|
401 | unauthorized | Chiave API mancante o non valida: controlla l'header Authorization. |
402 | insufficient_balance | Credito esaurito: ricarica per continuare a eseguire attività. |
404 | unknown_type | Tipo di attività sconosciuto: controlla il campo type della richiesta. |
429 | rate_limited | Troppe richieste in poco tempo: rallenta e riprova tra qualche secondo. |
Note tecniche
Definisca un riferimento e un obiettivo
Inserisca reference_date e target_date come date complete nel formato rigoroso YYYY-MM-DD. Se l’obiettivo precede il riferimento, business_days e calendar_days sono negativi; invertire gli estremi cambia soltanto il segno. Formati locali, orari, zeri mancanti e date impossibili generano invalid_input.
Escluda le chiusure realmente pertinenti
I duplicati vengono rimossi, una festività nel weekend non viene sottratta due volte e una data esterna all’intervallo non produce effetti. excluded_holidays conta solo le date uniche che hanno eliminato un giorno altrimenti lavorativo.
Si affidi a un calcolo UTC riproducibile
Lo stesso input produce lo stesso JSON ovunque. business_days è il risultato principale con segno; calendar_days controlla l’estensione dopo il riferimento fino all’obiettivo; excluded_holidays documenta le esclusioni. Ogni calcolo vale un elemento e una richiesta API costa $0.002.
Domande tecniche
La data di riferimento viene conteggiata?
No. L’intervallo esclude reference_date e include target_date, rappresentando il tempo lavorativo successivo al riferimento.
Cosa accade se l’obiettivo è precedente?
business_days e calendar_days diventano negativi, con la stessa grandezza dell’intervallo invertito.
Quanto costa una richiesta API?
Un calcolo API completato costa $0.002. Lo stesso risolutore deterministico funziona anche nel browser.