Distanza tra due intervalli di tempo in UTC
Inserisca due intervalli di tempo e ottenga ciò che li separa: uno che finisce alle 10:30 UTC e un altro che inizia alle 12:00 con scarto +01:00 distano 30 minuti, cioè 1800 secondi. Gli scarti vengono prima riportati a UTC. Gratis nel suo browser.
- Gratis
- Funziona nel suo browser
- Senza registrazione
- I suoi dati restano sul dispositivo
Esegui gratis nel browser
Esempio risolto
- Inizio del primo
- 2026-07-25T09:00:00Z
- Fine del primo
- 2026-07-25T10:30:00Z
- Inizio del secondo
- 2026-07-25T12:00:00+01:00
- Fine del secondo
- 2026-07-25T13:00:00+01:00
- Intervallo (millisecondi)
- 1.800.000
- Secondi di intervallo
- 1800
- Durata
- PT30M
- Ordine
- first_before_second
Questo calcolatore misura il tempo trascorso che separa due intervalli espliciti di data e ora ISO. Lei indica inizio e fine di ciascuno con UTC o uno scarto numerico; prima del confronto, ogni valore viene normalizzato in UTC. Se gli intervalli si sovrappongono o condividono un confine, il risultato è zero. Sono forniti anche millisecondi, secondi, una durata ISO 8601 e l’ordine cronologico.
Inserisca intervalli completi con scarti espliciti
Fornisca quattro valori: inizio e fine del primo intervallo, poi inizio e fine del secondo. Ogni valore deve essere una data e ora ISO 8601 completa, come <code>2026-07-25T09:00:00Z</code> o <code>2026-07-25T12:00:00+01:00</code>. La zona esplicita identifica l’istante senza dipendere dalle impostazioni locali.
Ogni inizio deve essere precedente o uguale alla relativa fine. Sono ammesse frazioni di secondo fino a tre cifre; vengono respinte date senza ora, zone con nome, secondi intercalari e scarti omessi. Se la Sua fonte usa zone con nome, le converta prima nello scarto corretto per la data di ciascun estremo.
Comprenda come viene calcolata la distanza UTC
Ogni estremo viene convertito tramite aritmetica del calendario in una posizione UTC in millisecondi. Se il primo intervallo termina prima dell’inizio del secondo, si sottrae la prima fine dal secondo inizio; nell’ordine opposto si inverte l’operazione. Altrimenti gli intervalli si toccano o sovrappongono e la distanza è zero.
Pertanto 12:00 con +01:00 equivale a 11:00Z. La risposta comprende millisecondi, secondi, durata ISO 8601 ed etichetta d’ordine. Il metodo non usa ora corrente, impostazioni locali, rete o parser di date dell’ambiente.
Usi il risultato in sicurezza nelle pianificazioni
Il risultato non negativo misura l’inattività tra prenotazioni, incidenti o periodi operativi. Per misurare la sovrapposizione, le ore lavorative o distinguere contatto e intersezione, scelga un calcolo dedicato. Conservi i millisecondi per confronti sotto il secondo e usi la durata ISO per scambio o visualizzazione.
Casi d'uso
Verificare i margini tra prenotazioni
Misuri il tempo libero esatto tra prenotazioni dopo aver normalizzato gli scarti orari espliciti.
Analizzare cronologie di eventi
Calcoli il silenzio tra incidenti registrati da sistemi con scarti UTC differenti.
Convalidare la separazione degli orari
Verifichi che due finestre operative lascino tempo sufficiente, indipendentemente dall’ordine di input.
Domande frequenti
Cosa accade se uno termina quando inizia l’altro?
Gli intervalli si toccano, quindi la distanza restituita è esattamente zero.
Sono supportati scarti di fuso differenti?
Sì. Ogni estremo viene normalizzato da Z o dallo scarto numerico esplicito a UTC prima del confronto.
Posso omettere lo scarto del fuso orario?
No. È necessario affinché il calcolo non dipenda dalla zona del server, del browser o del dispositivo.
Quanto è preciso il risultato?
Input e output supportano i millisecondi; la distanza è restituita anche in secondi e come durata ISO 8601.
Conta quale intervallo inserisco per primo?
No. Il primo intervallo non deve per forza essere il più presto. Il calcolatore controlla entrambi gli ordini, misura dalla fine dell'intervallo precedente all'inizio di quello successivo e indica quale viene prima.
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/intervals-gap \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"first_start":"2026-07-25T09:00:00Z","first_end":"2026-07-25T10:30:00Z","second_start":"2026-07-25T12:00:00+01:00","second_end":"2026-07-25T13:00:00+01:00"}'const res = await fetch("https://api.kit.forhosting.com/date/intervals-gap", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"first_start": "2026-07-25T09:00:00Z",
"first_end": "2026-07-25T10:30:00Z",
"second_start": "2026-07-25T12:00:00+01:00",
"second_end": "2026-07-25T13:00:00+01:00"
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/date/intervals-gap",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"first_start": "2026-07-25T09:00:00Z",
"first_end": "2026-07-25T10:30:00Z",
"second_start": "2026-07-25T12:00:00+01:00",
"second_end": "2026-07-25T13:00:00+01:00"
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/date/intervals-gap", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"first_start":"2026-07-25T09:00:00Z","first_end":"2026-07-25T10:30:00Z","second_start":"2026-07-25T12:00:00+01:00","second_end":"2026-07-25T13:00:00+01:00"}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"first_start":"2026-07-25T09:00:00Z","first_end":"2026-07-25T10:30:00Z","second_start":"2026-07-25T12:00:00+01:00","second_end":"2026-07-25T13:00:00+01:00"}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/date/intervals-gap", 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
{
"first_start": "2026-07-25T09:00:00Z",
"first_end": "2026-07-25T10:30:00Z",
"second_start": "2026-07-25T12:00:00+01:00",
"second_end": "2026-07-25T13:00:00+01:00"
}Esempio di risposta
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "date.intervals_gap",
"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_chars | 35 |
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
Usi il risultato in sicurezza nelle pianificazioni
Controlli l’etichetta d’ordine per sapere quale intervallo viene prima. <code>overlap_or_touch</code> unisce intenzionalmente sovrapposizione e contatto, perché in entrambi i casi non rimane tempo tra gli intervalli. Il browser esegue lo stesso risolutore puro dell’API. Le richieste API costano $0.002.
Domande tecniche
Cosa accade se gli intervalli si sovrappongono?
La distanza è zero e l’ordine è overlap_or_touch, perché non esiste tempo tra gli intervalli.
Quanto costa una richiesta API?
Il prezzo base pubblicato è $0.002 per richiesta; lo stesso calcolo deterministico è disponibile nel browser.