Giorni lavorativi progetto
Da lunedì 6 a venerdì 10 luglio 2026 un progetto ha 5 giorni lavorativi, e segnando l'8 luglio come festivo ne restano 4. Indichi inizio, fine e chiusure e ottenga il totale dei giorni di lavoro. Gratis nel suo browser.
- Gratis
- Funziona nel suo browser
- Senza registrazione
- I suoi dati restano sul dispositivo
Esegui gratis nel browser
Esempio risolto
- Inizio
- 2026-07-06
- End
- 2026-07-10
- Giorni lavorativi
- 5
- Giorni di calendario
- 5
- Giorni del fine settimana
- 0
- Festività escluse
- 0
I calendari di progetto quasi mai significano giorni di calendario grezzi. Quando un capitolato promette trenta giorni lavorativi dal kickoff, o un cliente chiede quanti giorni fatturabili separano due milestone, weekend e festività distorcono in silenzio qualsiasi sottrazione ingenua di due date ISO. Questo calcolatore di giorni lavorativi di progetto accetta una data di inizio, una data di fine e un elenco opzionale di festività, poi restituisce il conteggio inclusivo dal lunedì al venerdì che resta dopo aver rimosso quelle festività.
Cosa significa un giorno lavorativo di progetto in questo calcolatore
Un giorno lavorativo di progetto è qualsiasi giorno del calendario gregoriano che cade di lunedì, martedì, mercoledì, giovedì o venerdì e non figura nell'array opzionale holidays. L'intervallo è inclusivo: se la data di inizio è un giorno lavorativo e non è festivo, conta come giorno uno della finestra di progetto; se la data di fine è altrettanto lavorativa, conta pure. Sabato e domenica non contano mai, anche se rientrano in un incarico di più mesi.
Le festività che cadono nel weekend non modificano il totale, perché quei giorni erano già esclusi come weekend; solo le festività in giorno lavorativo riducono il totale dei giorni lavorativi, e quelle date compaiono nell'elenco holidays della risposta così l'audit vede esattamente quali giorni lavorativi non lavorativi sono stati applicati.
Dove conta il conteggio dei giorni lavorativi di progetto
I team di delivery usano un calcolatore di giorni lavorativi di progetto per tradurre durate contrattuali in giorni lavorativi in date di calendario, o per misurare quanti giorni fatturabili sono già trascorsi tra il kickoff e una revisione di stato. I product manager che pianificano sprint necessitano di conteggi inclusivi di giorni lavorativi che ignorino le festività aziendali elencate una volta per regione.
Finance e operations dei servizi professionali riconciliano i timesheet con il massimo teorico di giorni lavorativi di un periodo di fatturazione senza aprire un foglio di calcolo desktop per ogni cliente.
Casi d'uso
Finestre di giorni lavorativi in contratti e SOW
Misuri i giorni lavorativi inclusivi tra il kickoff del progetto e la fine contrattuale, sottraendo weekend e l'elenco di festività del capitolato.
Capacità di sprint e periodo di fatturazione
Calcoli la capacità massima di giorni lavorativi di uno sprint o periodo mensile così pianificazione e finance condividono lo stesso totale.
Tempo trascorso per SLA e milestone
Riferisca quanti giorni lavorativi sono trascorsi tra due milestone nei report di stato, senza contare sabati, domeniche né chiusure elencate.
Domande frequenti
Come si contano i giorni lavorativi di progetto tra due date?
Invii start e end come YYYY-MM-DD. Opzionalmente passi holidays come array nello stesso formato.
Cosa succede se una festività cade nel weekend?
Le festività del weekend non cambiano il totale.
Il giorno di inizio e quello di fine vengono contati?
Sì. Il periodo è inclusivo: il primo e l'ultimo giorno contano come lavorativi quando cadono dal lunedì al venerdì e non compaiono nel suo elenco di festività.
Che cosa succede se la data di fine è prima di quella di inizio?
Il calcolatore rifiuta la coppia invece di scambiare le date. Un progetto che finisce prima di cominciare è quasi sempre un errore di battitura, ed è meglio accorgersene che ricevere un risultato fuorviante.
E se inserisco due volte la stessa festività?
I doppioni vengono ignorati, quindi una festività scritta due volte toglie un solo giorno. Il risultato elenca anche le festività feriali sottratte, così chiunque può controllarle.
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-project \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"start":"2026-07-06","end":"2026-07-31"}'const res = await fetch("https://api.kit.forhosting.com/date/business-days-project", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"start": "2026-07-06",
"end": "2026-07-31"
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/date/business-days-project",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"start": "2026-07-06",
"end": "2026-07-31"
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/date/business-days-project", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"start":"2026-07-06","end":"2026-07-31"}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"start":"2026-07-06","end":"2026-07-31"}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/date/business-days-project", 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
{
"start": "2026-07-06",
"end": "2026-07-31"
}Esempio di risposta
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "date.business_days_project",
"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.
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
La validazione fallita non viene addebitata; le chiamate riuscite usano il prezzo base pubblicato $0.002 senza token di modello né rete in uscita.
Cosa significa un giorno lavorativo di progetto in questo calcolatore
L'algoritmo percorre ogni giorno civile dall'inizio alla fine con aritmetica pura: i numeri seriali seguono Howard Hinnant days_from_civil, i giorni della settimana il metodo Sakamoto e gli anni bisestili la regola gregoriana per cui i secoli sono bisestili solo se divisibili per quattrocento. Non viene costruito alcun oggetto JavaScript Date, quindi la risposta è identica in ogni regione Worker e nei test offline.
Contratto di input, campi di risposta e errori
Ogni data è convalidata come giorno gregoriano reale, incluso il 29 febbraio solo negli anni bisestili, così 2023-02-29 è rifiutato e 2024-02-29 è accettato. Esempio: start 2026-07-06 (lunedì) e end 2026-07-10 (venerdì) senza festività produce cinque giorni lavorativi, cinque giorni di calendario e zero weekend. La stessa settimana con holidays contenente 2026-07-08 produce quattro giorni lavorativi e una voce in holidays. Invii un corpo JSON con start e end come stringhe di calendario ISO-8601 obbligatorie nel formato YYYY-MM-DD. holidays è un array opzionale delle stesse stringhe; lo ometta o passi un array vuoto quando il progetto non ha chiusure fuori weekend. Sono accettati alias per comodità: from, begin e project_start mappano su start; to, finish e project_end su end. start deve essere precedente o uguale a end; una coppia invertita fallisce con invalid_input invece di scambiare i limiti in silenzio, perché una finestra di progetto invertita è quasi sempre un errore di inserimento dati da far emergere. In caso di successo il corpo restituisce le stringhe normalizzate start e end, business_days come conteggio inclusivo dei giorni lavorativi, calendar_days come l'arco inclusivo di tutti i giorni, weekend_days come il conteggio di sabati e domeniche nell'arco, holidays_excluded come il numero di festività in giorno lavorativo che hanno ridotto il totale, holidays come l'elenco ordinato di quelle festività nell'intervallo, e una breve stringa formula che descrive la regola. Date non valide o assenti, un valore holidays che non è un array, o start dopo end sollevano invalid_input e non sono addebitati.
Dove conta il conteggio dei giorni lavorativi di progetto
Poiché l'implementazione è pure parse di livello A, ogni chiamata riuscita costa il prezzo base pubblicato $0.002 senza token di modello linguistico e senza dipendenza da un'API di festività: Lei fornisce l'elenco di festività della propria giurisdizione o del calendario aziendale. Mantenga le richieste piccole, fissi business_days nei test di integrazione e otterrà finestre di progetto riproducibili per strumenti Gantt, motori di SLA, anteprime di fattura e edge worker senza montare un servizio di calendario completo proprio.
Domande tecniche
Le date di inizio e fine sono incluse?
Sì. Entrambi i limiti sono inclusivi: se start o end è un giorno lavorativo e non una festività elencata, contribuisce uno a business_days.
start può essere dopo end?
No. L'attività fallisce con invalid_input quando start è successivo a end, così non si scambiano in silenzio finestre di progetto invertite.
Quanto costa il calcolatore di giorni lavorativi di progetto?
Lo strumento nel browser è gratuito. Le richieste API usano il saldo KIT prepagato a $0.002 per chiamata riuscita; l'input non valido non viene addebitato.