Calcolare i giorni tra due date
Dal 15 gennaio 2024 al 10 marzo 2025 ci sono 420 giorni, esattamente 60 settimane, oppure 13 mesi di calendario e 23 giorni. Inserisca due date e ottenga tutte e tre le misure, senza fusi orari di mezzo. 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-15
- End
- 2025-03-10
- Direzione
- forward
- Giorni con segno
- 420
- Giorni
- 420
- Settimane
- 60
Questo calcolatore della differenza tra date misura l’intervallo fra due date di calendario senza dipendere da fusi orari, orari della giornata o regole sull’ora legale. Inserisca due date reali nel formato YYYY-MM-DD per ottenere il numero esatto di giorni, l’equivalente in settimane, la suddivisione in settimane intere e quella in mesi di calendario con i giorni residui. I risultati sono deterministici per le date gregoriane comprese fra gli anni 0001 e 9999. Invertendo le date, Lei mantiene lo stesso intervallo assoluto e riceve un’indicazione chiara della direzione all’indietro.
Inserisca due date di calendario precise
Gli zeri iniziali sono necessari: scriva 2026-07-05, non 2026-7-5. Ogni valore viene verificato secondo il calendario gregoriano, anziché essere semplicemente confrontato con un formato testuale. Di conseguenza, il 31 aprile viene rifiutato, il 29 febbraio è ammesso soltanto in un anno bisestile e il mese 13 non può mai generare un risultato apparentemente plausibile.
L’intervallo di anni supportato va da 0001 a 9999. Il calcolo considera esclusivamente giorni di calendario, quindi non intervengono ore nascoste, fusi locali, passaggi all’ora legale o conversioni UTC. Se end segue start, la direzione è forward; se lo precede, è backward.
Date uguali producono same e zero per ogni misura.
Interpreti correttamente i mesi di calendario
I mesi non contengono tutti lo stesso numero di giorni, pertanto il calcolatore non tratta un mese come trenta giorni fissi né come durata media. Il campo months conta gli avanzamenti completi di mese di calendario dalla data anteriore verso quella posteriore. Questa coppia è una suddivisione calendariale, mentre days resta la distanza esatta universale e weeks la conversione in unità di sette giorni.
Casi d'uso
Misurare la durata di un progetto
Converta le date di inizio e consegna in giorni esatti, settimane complete e mesi di calendario per la pianificazione.
Controllare i periodi di fatturazione
Conti mesi di calendario completi e giorni residui tra le date del servizio senza attribuire trenta giorni a ogni mese.
Convalidare la logica delle date
Generi intervalli deterministici per test, importazioni, report e sistemi che devono rifiutare date impossibili.
Domande frequenti
Le date iniziale e finale vengono conteggiate entrambe?
No. Days misura i confini di calendario trascorsi, quindi due date consecutive distano un giorno.
Come vengono calcolate le settimane?
Una settimana equivale esattamente a sette giorni. Il risultato include un valore decimale, settimane intere e giorni residui.
Come vengono calcolati i mesi?
Si contano gli avanzamenti completi di mese di calendario e poi si indicano i giorni esatti ancora rimanenti.
Cosa succede se inserisco prima la data più recente?
Ottiene lo stesso intervallo in giorni, settimane e mesi, e il risultato indica che la direzione è all'indietro. Due date uguali danno zero in ogni misura e una direzione segnata come stesso giorno.
Il fuso orario o l'ora legale cambiano il risultato?
No. Il calcolo usa solo giorni di calendario, senza orario, fuso locale, cambio d'ora né conversione in UTC, quindi chiunque ottiene la stessa risposta per le stesse 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/calc2/date-difference \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"start":"2024-01-15","end":"2025-03-10"}'const res = await fetch("https://api.kit.forhosting.com/calc2/date-difference", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"start": "2024-01-15",
"end": "2025-03-10"
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/calc2/date-difference",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"start": "2024-01-15",
"end": "2025-03-10"
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/calc2/date-difference", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"start":"2024-01-15","end":"2025-03-10"}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"start":"2024-01-15","end":"2025-03-10"}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/calc2/date-difference", 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-15",
"end": "2025-03-10"
}Esempio di risposta
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "calc2.date_difference",
"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
Inserisca due date di calendario precise
Indichi la prima data nel campo start e la seconda nel campo end, utilizzando rigorosamente lo schema YYYY-MM-DD. Per le integrazioni API sono accettati anche alias quali from e to, mentre i nomi principali start ed end mantengono chiari moduli ed esempi.
Comprenda i giorni e le settimane nel risultato
Il campo days è il numero assoluto di confini da mezzanotte a mezzanotte che separano le date. Il campo weeks divide il totale assoluto dei giorni per sette e arrotonda il numero visualizzato a sei cifre decimali, risultando utile per stime e report. Non si presume nulla su settimane lavorative, fine settimana, festività o conteggio inclusivo. Per esempio, dal 1º al 2 gennaio trascorre un giorno, e un giorno bisestile viene contato come qualsiasi altro giorno reale di calendario. signed_days conserva l’ordine: è positivo quando end è successivo, negativo quando end è precedente e zero quando i due valori coincidono. Per una suddivisione intera esatta, whole_weeks indica i gruppi completi di sette giorni e remaining_days_after_weeks il resto da zero a sei. Questi due campi ricostruiscono sempre il totale tramite whole_weeks moltiplicato per sette, più il resto. L’intervallo rappresenta tempo di calendario trascorso ed è adatto a pianificazioni, durate, dati di test e calcoli API coerenti.
Interpreti correttamente i mesi di calendario
Quando il giorno iniziale non esiste nel mese di destinazione, il calcolo si adegua all’ultimo giorno valido di quel mese; ciò assicura un comportamento stabile per gli intervalli che iniziano il 29, 30 o 31 gennaio. remaining_days_after_months riporta i giorni di calendario esatti rimasti dopo i mesi completi. Con input invertiti, la suddivisione mensile parte dalla data cronologicamente precedente per conservare quantità assolute coerenti; direction e signed_days comunicano l’ordine. Scelga days per le scadenze, whole_weeks per blocchi di lavoro e months con il resto per abbonamenti, anniversari, anzianità o altri periodi basati sul calendario.
Domande tecniche
Quanto costa una richiesta API?
Ogni richiesta API costa $0.002. Il calcolatore può essere eseguito gratuitamente e in locale nel browser.
Che cosa accade se una data non è valida?
La richiesta non riesce e restituisce invalid_input se un valore ha formato errato o non è una data gregoriana reale.