Sottrarre due durate HMS
Sottragga una durata in ore, minuti e secondi da un’altra senza convertire manualmente i valori.
Esegui gratis nel browser
Inserisca due durate non negative nel formato HH:MM:SS: il calcolatore sottrae la seconda dalla prima, applica i prestiti tra secondi e minuti quando servono e restituisce un risultato esatto con segno. Le ore non sono limitate a un orologio di 24 ore, quindi lo strumento è adatto a progetti, contenuti multimediali, allenamenti, cicli macchina e altre durate estese. Il calcolo dipende esclusivamente dai due valori forniti da Lei.
Inserisca durate trascorse, non orari del giorno
Indichi come primo valore la durata da cui desidera sottrarre e come secondo quella da rimuovere. Ogni voce usa HH:MM:SS, con due cifre per minuti e secondi. Le ore possono avere da una a sei cifre, quindi 125:30:00 è valido anche se 125 non è un’ora dell’orologio. Minuti e secondi devono essere compresi tra 00 e 59, perché il calcolatore richiede un input normalizzato. Usi 00 per un’unità vuota, ad esempio 7:00:09 per sette ore e nove secondi. Gli input non sono negativi: il segno appartiene alla differenza calcolata, non alle durate iniziali. Questa distinzione evita espressioni ambigue con due intervalli negativi. L’ordine matematico viene mantenuto esattamente: prima durata meno seconda durata. Se i valori coincidono, l’output è 00:00:00 con segno zero. Gli spazi esterni vengono ignorati, mentre parole, secondi decimali, frammenti di data e suffissi AM o PM sono rifiutati, affinché ogni valore accettato abbia un unico significato deterministico.
Comprenda i prestiti e un risultato negativo
La sottrazione HMS segue lo stesso metodo dei prestiti usato sulla carta. Se i secondi disponibili sono inferiori a quelli da sottrarre, un minuto diventa sessanta secondi aggiuntivi. Risolta la colonna dei secondi, se i minuti disponibili sono inferiori a quelli da sottrarre, un’ora diventa sessanta minuti aggiuntivi. La risposta indica se ciascun prestito è avvenuto, risultando utile per la didattica, le verifiche o una spiegazione visiva. Quando la seconda durata è maggiore della prima, il calcolatore confronta le lunghezze complessive, sottrae la grandezza minore dalla maggiore con le stesse regole e antepone il segno meno alla differenza normalizzata. Non produce mai componenti scomodi come minuti negativi o 75 secondi. Una differenza negativa viene rappresentata, per esempio, come -02:04:09. Il campo numerico del segno vale -1, 0 o 1, mentre total_seconds conserva la differenza con segno per il software che deve svolgere altri calcoli.
Utilizzi l’output normalizzato in modo affidabile
Il risultato comprende il testo HMS normalizzato, il totale dei secondi con segno, il segno e i componenti assoluti separati di ore, minuti e secondi. Questa combinazione supporta sia la visualizzazione sia i calcoli successivi senza costringere il sistema ad analizzare una spiegazione testuale. Poiché si tratta di durate, le ore non ripartono da zero a 24: 49:10:00 significa quarantanove ore trascorse e dieci minuti. Il calcolo usa soltanto aritmetica intera limitata. Non consulta la data corrente, un fuso orario, l’ora legale, le impostazioni locali, un servizio di rete o un modello linguistico; pertanto input identici producono sempre output identici. È indicato per script di build, controlli delle ore lavorate, test, flussi multimediali e report riproducibili. Controlli il segno prima di interpretare la direzione: i componenti sono sempre grandezze non negative. L’uso nel browser è gratuito e ogni richiesta API automatizzata costa $0.002.
Casi d'uso
Confrontare durate multimediali
Sottragga la durata modificata dall’originale e verifichi esattamente il tempo rimosso o aggiunto.
Riconciliare il lavoro registrato
Trovi la differenza tra due durate di lavoro accumulate anche quando un totale supera 24 ore.
Controllare i tempi di un evento
Confronti durate pianificate e misurate conservando i secondi e i dettagli espliciti dei prestiti.
Domande frequenti
Quanto costa una richiesta API?
Ogni richiesta API costa $0.002. Il calcolatore nel browser è gratuito.
Il risultato può essere negativo?
Sì. Se la seconda durata è maggiore, il risultato normalizzato inizia con un segno meno e il campo del segno vale -1.
Le ore possono essere maggiori di 23?
Sì. Sono durate trascorse, non orari dell’orologio, quindi possono variare da 0 a 999999.
Perché minuti e secondi devono essere inferiori a 60?
Gli input devono già usare la notazione HMS normalizzata. I prestiti sono applicati nella sottrazione e l’output resta normalizzato.
Il calcolo considera date o ora legale?
No. Sottrae soltanto due durate astratte e non usa mai date, fusi orari, cambi stagionali o l’ora corrente.
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/hms-subtract \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"first_duration":"12:05:10","second_duration":"03:47:55"}'const res = await fetch("https://api.kit.forhosting.com/date/hms-subtract", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"first_duration": "12:05:10",
"second_duration": "03:47:55"
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/date/hms-subtract",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"first_duration": "12:05:10",
"second_duration": "03:47:55"
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/date/hms-subtract", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"first_duration":"12:05:10","second_duration":"03:47:55"}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"first_duration":"12:05:10","second_duration":"03:47:55"}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/date/hms-subtract", 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_duration": "12:05:10",
"second_duration": "03:47:55"
}Esempio di risposta
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "date.hms_subtract",
"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_hours | 999999 |
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. |