Giorni tra due date
Dal 1° all'11 gennaio 2024 ci sono 10 giorni. Inserisca due date e otterrà il numero intero di giorni di calendario che le separano, più un numero con segno che indica se la seconda data viene prima. Gratis nel suo browser.
- Gratis
- Funziona nel suo browser
- Senza registrazione
- I suoi dati restano sul dispositivo
Esegui gratis nel browser
Esempio risolto
- Inizio
- 2024-01-01
- Fine
- 2024-01-11
- Giorni
- 10
- Giorni con segno
- 10
- Anno di inizio
- 2024
- Mese di inizio
- 1
Questo calcolatore dei giorni tra due date prende due date del calendario gregoriano in forma rigorosa AAAA-MM-GG e restituisce il numero intero di giorni di calendario che le separano. I controlli classici includono 2024-01-01 a 2024-01-11 che dà dieci giorni, 2024-02-28 a 2024-03-01 che dà due giorni in un anno bisestile, ed estremi identici che danno zero. Il motore usa solo aritmetica gregoriana prolettica deterministica: verifica che ogni giorno esista davvero sul calendario, converte entrambe le terne in conteggi seriali di giorni, li sottrae, e riporta sia la distanza assoluta sia il delta con segno fine-meno-inizio senza chiamate di rete, campionamento casuale o l'orologio dell'host.
Dove si inserisce l'aritmetica degli intervalli di giorni in pianificazione, fatturazione e software
I team operativi e finanziari contano i giorni tra due date quando una politica definisce una finestra di pagamento di trenta giorni di calendario, quando un avviso deve arrivare un numero fisso di giorni dopo un evento, o quando un periodo di conservazione è espresso come giorni interi tra due timbri piuttosto che con un orologio in tempo reale.
Gli analisti che costruiscono coorti usano la stessa distanza per etichettare finestre di osservazione che iniziano e finiscono in giorni di calendario noti, evitando errori di uno a fine mese e nei giorni bisestili che compaiono quando si sottraggono a mano numeri seriali di foglio di calcolo.
Gli sviluppatori richiamano il contratto dagli script per generare vettori di test deterministici per gli schedulatori, per verificare i campi di durata in fatture e abbonamenti, o per soddisfare requisiti di prodotto che richiedono un intervallo puramente calendariale senza deriva di fuso orario dall'oggetto Date dell'host. Educatori e redattori di standard usano lo strumento per dimostrare distanze con giorno bisestile come 2024-02-28 a 2024-03-01 rispetto alla stessa coppia in un anno comune senza affidarsi ad app calcolatrici opache che includono in silenzio gli orari del giorno.
Abbinatelo agli strumenti di sottrazione di giorni, conversione epoch o helper per settimane ISO quando vi servono passaggi di calendario correlati, e ad altri strumenti gratuiti e deterministici quando state assemblando un piccolo laboratorio di utility per le date.
Casi d'uso
Finestre di pagamento e avviso
Misurate i giorni di calendario interi tra una data di fattura e una scadenza, o tra un evento e un giorno di preavviso richiesto, senza deriva di fuso orario.
Intervalli con anno bisestile e fine mese
Verificate distanze che attraversano il 29 febbraio solo negli anni bisestili, e che i confini di mese e anno diano il conteggio corretto di giorni interi.
Domande frequenti
Cosa succede con gli anni bisestili e le date non valide?
Le lunghezze dei mesi e i giorni bisestili vengono validati su entrambi gli estremi.
Weekend, festività o orari del giorno sono inclusi?
No. Questo strumento conta solo giorni di calendario gregoriani puri. Non salta i giorni non lavorativi aziendali e non analizza orari o fusi orari.
L'ordine delle due date conta?
Non per il conteggio principale, che non è mai negativo. Un secondo numero, con segno, conserva la direzione: diventa negativo quando la data finale è precedente a quella iniziale.
Il primo giorno viene contato?
Il conteggio misura la distanza da mezzanotte a mezzanotte, quindi dal 1° all'11 gennaio risultano 10 giorni, non 11. Due date uguali danno 0.
A cosa serve contare i giorni di calendario tra due date?
Per termini di pagamento di trenta giorni di calendario, avvisi che devono arrivare un numero fisso di giorni dopo un evento o periodi di conservazione espressi in giorni interi tra due date.
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/days-between \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"start":"2024-01-01","end":"2024-01-11"}'const res = await fetch("https://api.kit.forhosting.com/date/days-between", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"start": "2024-01-01",
"end": "2024-01-11"
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/date/days-between",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"start": "2024-01-01",
"end": "2024-01-11"
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/date/days-between", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"start":"2024-01-01","end":"2024-01-11"}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"start":"2024-01-01","end":"2024-01-11"}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/date/days-between", 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": "2024-01-01",
"end": "2024-01-11"
}Esempio di risposta
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "date.days_between",
"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
year_min | 1 |
year_max | 9999 |
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
Cosa significa un intervallo di giorni interi e cosa contiene la risposta
Contare giorni interi di calendario tra due date risponde a una domanda diversa dai conteggi di giorni lavorativi, dall'età in anni e mesi o dalla sottrazione di timestamp consapevole del fuso orario: misura la pura distanza civile sul calendario gregoriano, da mezzanotte a mezzanotte, senza saltare weekend, festività o transizioni dell'ora legale. Se vi servono giorni lavorativi, navigazione con sottrazione di giorni, conversione epoch o analisi multi-formato, usate quegli strumenti dedicati; questa pagina risponde solo alla distanza gregoriana in giorni interi tra due date ISO validate. Fornite una data di inizio e una di fine come stringhe rigorose AAAA-MM-GG; l'ordine non deve essere cronologico perché il campo days assoluto è sempre non negativo mentre signed_days conserva la direzione quando la fine è precedente all'inizio. Il calcolatore verifica che entrambi i giorni siano veri giorni di calendario — 29 febbraio solo negli anni bisestili, trenta giorni in aprile, mai il giorno trentadue — quindi restituisce le stringhe di inizio e fine normalizzate, days come distanza assoluta in giorni interi, signed_days come seriale fine meno seriale inizio, i campi componenti start_year, start_month, start_day, end_year, end_month ed end_day per un facile inoltro verso altri strumenti, e un breve promemoria della formula. Non c'è un inizio settimana dipendente dalla lingua, nessuna approssimazione in virgola mobile della lunghezza di un giorno, e nessun affidamento all'oggetto Date dell'host: o entrambi gli input sono veri giorni di calendario dentro la finestra d'anno supportata e l'intervallo è completamente determinato, oppure la richiesta fallisce con invalid_input. I casi rifiutati includono un campo start o end mancante, forme errate come 2024/01/01, mesi impossibili, giorni inesistenti come 2023-02-29, e anni fuori dall'intervallo uno-9999.
Come vengono letti inizio e fine e come il conteggio resta riproducibile
Ogni stringa deve corrispondere a quattro cifre, un trattino, due cifre, un altro trattino e due cifre; gli spazi iniziali o finali vengono rimossi, ma le date parziali, il solo giorno ordinale dell'anno, i nomi dei mesi e gli orari incorporati non vengono espansi qui. Dopo l'analisi, ogni anno deve essere compreso tra 1 e 9999, ogni mese tra 1 e 12, e ogni giorno tra 1 e la vera lunghezza di quel mese in quell'anno, con gli anni bisestili che seguono la regola gregoriana: divisibili per quattro tranne i secoli non divisibili per quattrocento. Il primo campo preferito è start, ma sono accettati gli alias from, date1, a e begin così fogli di calcolo, query string e form tipizzati possono riusare lo stesso contratto senza rinominare colonne. Il secondo campo preferito è end, con alias to, date2, b e finish per lo stesso motivo. Internamente il motore converte ogni terna civile in un conteggio seriale di giorni gregoriano prolettico usando la nota mappatura days_from_civil, sottrae il seriale di inizio dal seriale di fine per ottenere signed_days, quindi prende il valore assoluto per days — aritmetica a interi pura, stabile bit per bit tra i runtime. Date identiche danno zero; invertire la coppia cambia solo il segno di signed_days e lascia invariato days. Abbinate l'esecuzione gratuita nel browser di questa pagina all'API a pagamento quando vi serve lo stesso intervallo di giorni dentro una pipeline automatizzata.
Dove si inserisce l'aritmetica degli intervalli di giorni in pianificazione, fatturazione e software
In questa pagina il lavoro viene svolto interamente nel browser; tramite l'API ogni ricerca riuscita costa $0.002, la convalida fallita non viene addebitata e nulla viene conservato dopo la restituzione della risposta. Questa divisione — esplorazione interattiva gratuita e API a pagamento identica — corrisponde al resto del catalogo tier A del KIT e permette di passare da un controllo occasionale a una pipeline senza cambiare il risultato matematico.
Casi di integrazione
Fixture di test deterministiche
Generate numeri di intervallo giorni riproducibili per unit test, controlli di proprietà e asserzioni CI senza dipendere da Date o dall'orologio dell'host.
Domande tecniche
Quanto costa il calcolatore dei giorni tra due date?
È gratuito nel browser su questa pagina. Tramite l'API una richiesta riuscita costa $0.002; gli input non validi non vengono addebitati.
Come viene definito il conteggio dei giorni?
Il motore converte entrambe le date AAAA-MM-GG validate in conteggi seriali di giorni gregoriani prolettici e li sottrae. days è la distanza assoluta in giorni interi; signed_days è fine meno inizio.
L'ordine conta se la fine è precedente all'inizio?
days è sempre non negativo. signed_days è negativo quando la fine è precedente all'inizio, così potete mantenere la direzione cronologica quando vi serve.