Differenza in giorni tra calendari giuliano e gregoriano
Questo calcolatore restituisce la differenza annuale in giorni tra i calendari giuliano e gregoriano prolettici per una data ISO esplicita.
Esegui gratis nel browser
Funziona nel tuo browser: gratis, senza registrazione, i file non escono dal tuo dispositivo.
Convalida l’intero valore YYYY-MM-DD, ne estrae l’anno e applica la differenza di giorni bisestili accumulata dai due sistemi. Il risultato indica se il calendario gregoriano è avanti, indietro o allineato rispetto a quello giuliano. Il calcolo usa soltanto aritmetica intera limitata, quindi è riproducibile in un’API o nel browser senza impostazioni del fuso orario, accesso alla rete o orologio del dispositivo.
Che cosa indica la differenza in giorni
I calendari giuliano e gregoriano organizzano gli anni ordinari in modo simile, ma non adottano la stessa regola per gli anni secolari. Nel calendario giuliano è bisestile ogni anno divisibile per quattro. Il sistema gregoriano elimina il giorno aggiuntivo dagli anni secolari, a meno che l’anno sia divisibile anche per quattrocento. I giorni omessi si accumulano e creano una separazione tra i due calendari. Il calcolatore mostra tale separazione accumulata per l’anno indicato dalla Sua data ISO. Un risultato positivo significa che il calendario gregoriano precede quello giuliano di quel numero di giorni quando si confrontano etichette uguali di anno, mese e giorno secondo la convenzione annuale. Un valore negativo indica un ritardo, mentre zero segnala che non vi è alcuna separazione annuale accumulata. Questo è un calcolo della differenza, non una conversione: la data fornita non viene sostituita con la data civile corrispondente dell’altro calendario. Usi il risultato quando Le serve lo scarto convenzionale e uno strumento di conversione quando deve trasformare anno, mese e giorno.
Come viene garantito un risultato deterministico
Inserisca una sola data ISO gregoriana nel formato YYYY-MM-DD, compresi gli zeri iniziali. Prima di usare l’anno, il calcolatore controlla il mese, il numero di giorni previsto e la regola gregoriana degli anni bisestili. Calcola quindi la differenza tramite divisioni intere: confronta i giorni bisestili secolari giuliani già trascorsi con quelli conservati dal ciclo gregoriano di quattrocento anni. Non viene creato alcun oggetto Date di JavaScript. In questo modo l’analisi non eredita comportamenti dell’host, regole del fuso orario o limiti di rappresentazione estranei all’aritmetica dei calendari. Lo stesso input produce lo stesso JSON in UTC, in un altro fuso, nel browser o in un processo periferico. Il calcolo è prolettico: estende coerentemente le regole matematiche agli anni precedenti all’adozione storica del calendario gregoriano. Accetta anni dell’era comune a quattro cifre da 0001 a 9999 e rifiuta l’anno 0000, testo non valido e date impossibili, come il 29 febbraio in un anno non bisestile.
Come scegliere l’interpretazione storica corretta
La storia dei calendari pone due domande distinte che è facile confondere. Una riguarda la differenza matematica fra le regole giuliane e gregoriane; l’altra chiede quale calendario civile fosse in uso in un determinato luogo e giorno. Questa capacità risponde soltanto alla prima. Non modella date nazionali di adozione, giorni civili saltati, convenzioni ecclesiastiche o incertezze archivistiche. Inoltre, la convenzione annuale restituisce intenzionalmente un solo valore per tutto l’anno indicato. In un anno secolare gregoriano non divisibile per quattrocento, la distanza esatta fra due date cambia dopo che i calendari divergono sul 29 febbraio. La conversione di una specifica data di gennaio o febbraio può quindi differire di un giorno dal valore annuale. Non si tratta di indeterminazione, ma di una domanda diversa. Usi il risultato per tabelle, etichette esplicative, regole di convalida e flussi che definiscono esplicitamente una differenza per anno. Per genealogia o cronologia giuridica, lo abbini alla giurisdizione storica e a una politica di conversione specifica per la data prima di interpretare un evento.
Casi d'uso
Annotare raccolte di dati storici
Aggiunga una differenza annuale giuliano-gregoriana riproducibile ai record che contengono già date ISO esplicite.
Creare tavole di riferimento calendariali
Generi differenze coerenti nei secoli senza dipendere dalle librerie di date del sistema o dal fuso orario.
Controllare regole cronologiche
Verifichi che software o documentazione usino lo scarto previsto prima di convertire date specifiche.
Domande frequenti
Che cosa significa una differenza positiva in giorni?
Significa che il calendario gregoriano precede quello giuliano di quel numero di giorni secondo la convenzione annuale.
Lo strumento converte la mia data nell’altro calendario?
No. Restituisce la differenza associata all’anno e lascia invariata la data ISO fornita.
Perché devo fornire una data completa se viene usato soltanto l’anno?
La data completa rende esplicito il contratto di input e consente di rifiutare date ISO errate o impossibili prima di usare l’anno.
Il calcolo considera quando ogni paese adottò il calendario gregoriano?
No. Applica regole matematiche prolettiche e non presume una giurisdizione o una politica storica di adozione.
Gennaio e febbraio di un anno secolare richiedono un trattamento speciale?
Sì, per una conversione esatta. La capacità restituisce intenzionalmente un valore annuale; una conversione specifica può variare di un giorno prima della divergenza sul giorno bisestile.
Quanto costa una richiesta API?
Ogni richiesta API costa $0.002. Il calcolo nel browser usa la stessa logica deterministica.
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/julian-gregorian-offset \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"date":"2026-07-25"}'const res = await fetch("https://api.kit.forhosting.com/date/julian-gregorian-offset", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"date": "2026-07-25"
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/date/julian-gregorian-offset",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"date": "2026-07-25"
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/date/julian-gregorian-offset", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"date":"2026-07-25"}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"date":"2026-07-25"}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/date/julian-gregorian-offset", 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
{
"date": "2026-07-25"
}Esempio di risposta
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "date.julian_gregorian_offset",
"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. |