Tempo trascorso
Dal 10 marzo 2024 alle 09:30 al 12 marzo 2024 alle 14:45:30 sono trascorsi 2 giorni, 5 ore, 15 minuti e 30 secondi. Inserisca due timestamp con la loro data e ottenga la durata completa, mai negativa. 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-03-10T09:30:00Z
- End
- 2024-03-12T14:45:30Z
- Inizio
- 2024-03-10T09:30:00.000Z
- End
- 2024-03-12T14:45:30.000Z
- Giorni
- 2
- Ore
- 5
Quanto tempo è passato tra due timestamp? Un calcolatore di tempo trascorso risponde a quella domanda quotidiana con una durata completa, non solo con giorni di calendario interi né solo con le ore di un quadrante. Lei indica un timestamp di inizio e uno di fine — istanti ISO-8601 come 2024-03-10T09:30:00Z, giorni solo data trattati come mezzanotte UTC, oppure secondi Unix — e lo strumento restituisce i giorni, le ore, i minuti, i secondi e i millisecondi trascorsi. Se la fine precede l'inizio, la richiesta viene rifiutata invece di restituire una durata negativa che un foglio presenze o un registro leggerebbero male in silenzio. Non c'è chiamata di rete, né orologio di sistema, né casualità: solo conversione del calendario civile in millisecondi UTC e una sottrazione che rifiuta di tornare indietro.
Come due timestamp diventano giorni, ore, minuti e secondi
Un timestamp nomina un istante sulla linea civile, non una posizione su un quadrante di dodici o ventiquattro ore né una durata che Lei abbia già misurato. 2024-03-10T09:30:00Z è un unico istante UTC; 2024-03-12T14:45:30Z è un istante successivo. La regola del tempo trascorso converte ciascun istante in millisecondi dall'epoca Unix con aritmetica gregoriana prolettica — anni bisestili, lunghezze dei mesi e scostamenti di fuso compresi — e poi sottrae l'inizio dalla fine.
Il resto non negativo si spezza con divisioni intere successive: ottantasei milioni e quattrocentomila millisecondi formano un giorno, tre milioni e seicentomila un'ora, sessantamila un minuto e mille un secondo. Ciò che resta è il residuo di millisecondi. Timestamp uguali danno tempo trascorso zero, non un giorno intero, perché le due letture nominano lo stesso istante.
I valori solo data come 2024-01-01 sono trattati come mezzanotte UTC, così una settimana dal primo all'ottavo è esattamente sette giorni. I secondi Unix numerici si moltiplicano per mille; i valori la cui magnitudine assoluta è almeno un bilione sono già trattati come millisecondi, che è il modo in cui gli esportatori di registro e i browser di solito marcano gli eventi.
Contratto di ingresso, formati accettati e l'errore di fine anteriore all'inizio
Il corpo della richiesta porta due campi obbligatori: start e end. Ciascuno può essere una data ISO-8601 in forma YYYY-MM-DD, una data-ora ISO-8601 con secondo frazionario facoltativo e uno scostamento Z oppure più-o-meno HH:mm, oppure un timestamp Unix come numero o stringa numerica. Gli spazi iniziali e finali vengono ritagliati.
Quando l'istante end analizzato è anteriore all'istante start analizzato, l'attività fallisce anch'essa, con un messaggio che la fine precede l'inizio: questo calcolatore non inventerà un passaggio a mezzanotte né una durata negativa con segno. L'ingresso non valido non viene fatturato.
Dove un calcolatore di tempo trascorso merita il posto
Si ricorre a un calcolatore di tempo trascorso quando due istanti registrati devono diventare una lunghezza che una persona legge e uno script conserva. Chi dirige un incidente converte un timestamp di inizio e uno di fine in giorni e ore per una finestra di SLA. I team di prodotto e supporto misurano quanto è durata una sessione, un lavoro o una distribuzione, dalla prima riga di registro all'ultima.
Gli strumenti di paga e di presenze che già conservano ingresso e uscita come date-ora hanno bisogno di una durata, non di un conteggio di giorni di calendario né di un passaggio di quadrante nello stesso giorno. Gli studenti che imparano il tempo trascorso verificano che 09:30 del dieci a 14:45:30 del dodici siano due giorni, cinque ore, quindici minuti e trenta secondi, e non un errore di prestito sulla carta.
Abbini questa pagina a uno strumento di durata tra orari di quadrante se ha solo due ore del giorno e nessuna data, a un conteggio di giorni civili se vuole solo giornate di calendario intere, o a un formattatore di durata leggibile se ha già un numero di secondi e le serve solo il testo. Poiché lo strumento rifiuta un intervallo invertito, serve anche da validatore dell'ordine dei timestamp per i moduli di raccolta che non devono accettare una fine prima di un inizio.
Casi d'uso
Finestre di incidente e di SLA
Trasformi un timestamp di inizio e uno di fine da un registro di incidente in giorni, ore e minuti per un resoconto di SLA che non deve accettare un intervallo invertito.
Durata di turno e di sessione da date-ora
Calcoli quanto è durato un turno, una riunione o una sessione registrata quando entrambe le estremità sono conservate come date-ora ISO o secondi Unix, compresi i tratti di più giorni.
Controlli scolastici e di registro del tempo trascorso
Consenta a studenti e script di verificare che da 2024-03-10T09:30:00Z a 2024-03-12T14:45:30Z risulti 2 days 5 hours 15 minutes 30 seconds, e che una fine anteriore venga rifiutata.
Domande frequenti
Come si calcola il tempo trascorso tra due timestamp?
Invii start e end come date-ora ISO-8601 (o sola data a mezzanotte UTC) oppure come secondi Unix.
Che cosa succede se il timestamp di fine precede quello di inizio?
Il tempo trascorso esige che la fine sia uguale o successiva all'inizio; il calcolatore non oltrepassa la mezzanotte e non restituisce una durata negativa.
Quali formati di timestamp sono accettati?
ISO-8601 YYYY-MM-DD, YYYY-MM-DDTHH:mm:ss con frazione facoltativa e Z o ±HH:mm, e secondi Unix (o millisecondi quando il valore assoluto è almeno 1e12). Stringhe solo di orologio come 09:30 senza data vengono rifiutate.
In che cosa differisce da una durata di quadrante o da un conteggio di giorni tra date?
La durata di quadrante sottrae due ore del giorno su un orologio circolare e può oltrepassare la mezzanotte. I giorni tra date contano giornate di calendario intere. Questa pagina misura la durata completa tra due timestamp assoluti.
Posso ottenere la durata totale in secondi?
Sì. Oltre a giorni, ore, minuti e secondi, compare il totale in secondi: dal 10 marzo 2024 alle 09:30 al 12 marzo alle 14:45:30 sono 191730 secondi.
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/life/elapsed-time \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"start":"2024-03-10T09:30:00Z","end":"2024-03-12T14:45:30Z"}'const res = await fetch("https://api.kit.forhosting.com/life/elapsed-time", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"start": "2024-03-10T09:30:00Z",
"end": "2024-03-12T14:45:30Z"
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/life/elapsed-time",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"start": "2024-03-10T09:30:00Z",
"end": "2024-03-12T14:45:30Z"
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/life/elapsed-time", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"start":"2024-03-10T09:30:00Z","end":"2024-03-12T14:45:30Z"}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"start":"2024-03-10T09:30:00Z","end":"2024-03-12T14:45:30Z"}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/life/elapsed-time", 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-03-10T09:30:00Z",
"end": "2024-03-12T14:45:30Z"
}Esempio di risposta
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "life.elapsed_time",
"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
Come due timestamp diventano giorni, ore, minuti e secondi
L'algoritmo non consulta mai l'orologio di sistema, non chiama mai un servizio di rete e non usa mai casualità, così la stessa coppia di timestamp produce sempre gli stessi days, hours, minutes, seconds, total_seconds, la frase pretty e la stringa compact.
Contratto di ingresso, formati accettati e l'errore di fine anteriore all'inizio
Gli alias start_time, start_timestamp, from e begin sono accettati per start; gli alias end_time, end_timestamp, to, until e stop sono accettati per end, così moduli e script conservano i nomi che già hanno. Un campo assente, una stringa vuota dopo il ritaglio, un valore che non è stringa né numero, un giorno civile impossibile come 2024-02-30, un'ora fuori da zero a ventitré, o una stringa che non è ISO né numerica falliscono con invalid_input e nominano il campo colpevole. In caso di successo, la risposta ripete entrambi i timestamp normalizzati a ISO-8601 UTC con precisione al millisecondo, i days, hours, minutes, seconds e milliseconds scomposti, total_seconds e total_milliseconds come conteggi esatti, una frase pretty in inglese come 2 days 5 hours 15 minutes 30 seconds, un token compact come 2d 5h 15m 30s e una formula breve che Lei può stampare accanto alla risposta. Le chiamate API riuscite usano il prezzo base pubblicato $0.002.
Dove un calcolatore di tempo trascorso merita il posto
L'implementazione è parse di livello A puro: senza token di modello, senza HTTP in uscita e senza oggetto Date. Ciò mantiene la latenza in una manciata di operazioni aritmetiche e il modello di costo onesto a $0.002 per richiesta API riuscita, mentre una convalida fallita non consuma mai il saldo prepagato.
Domande tecniche
Quanto costa il calcolatore di tempo trascorso?
Lo strumento del browser è gratuito. Le richieste API usano il saldo prepagato a $0.002 per chiamata riuscita; l'ingresso non valido non viene fatturato.