Calcolo della fine del timebox con intervallo
Un timebox funziona soltanto quando la sua conclusione è inequivocabile. Questo calcolatore aggiunge un numero fisso di minuti a un’ora iniziale nel formato a 24 ore e restituisce il limite esatto, anche in caso di passaggio al giorno successivo.
Esegui gratis nel browser
Lei può inoltre riservare un intervallo protetto dopo il timebox, evitando che il blocco seguente inizi subito. Il risultato separa lavoro e transizione ed è utile per riunioni, sessioni di concentrazione, laboratori, colloqui e programmi operativi.
Stabilisca un limite visibile a tutti
Inserisca l’inizio nel rigoroso formato HH:MM a 24 ore e indichi la durata fissa come numero intero di minuti. Il calcolatore applica l’aritmetica dell’orologio invece di stimare rispetto all’ora corrente, quindi gli stessi valori producono sempre la medesima risposta. Il limite è l’istante in cui termina l’attività vincolata nel tempo; l’intervallo facoltativo non ne fa parte. La distinzione ha conseguenze concrete. Una discussione di cinquanta minuti iniziata alle 09:35 finisce alle 10:25, sia che Lei protegga altri dieci minuti per appunti, cambio di sala o una breve pausa, sia che non lo faccia. Tenere separate le due quantità impedisce che un blocco nominale di cinquanta minuti diventi silenziosamente un impegno di sessanta. La risposta ripete in forma normalizzata l’inizio e la durata, indica l’orario limite e fornisce lo scostamento del giorno. Zero significa lo stesso giorno civile, uno il giorno successivo; valori maggiori coprono timebox volutamente lunghi senza richiedere una data o un fuso orario.
Riservi una transizione senza cambiare il timebox
Utilizzi buffer_minutes quando il blocco successivo non deve iniziare esattamente al limite. Il calcolatore aggiunge l’intervallo dopo la durata e restituisce next_block_time come primo inizio protetto per l’attività seguente. Per esempio, un laboratorio può terminare alle 16:40 mentre l’appuntamento successivo inizia non prima delle 16:55, lasciando quindici minuti per domande, riordino, spostamento o preparazione. Il limite originario resta 16:40 e aiuta chi conduce il laboratorio a rispettare la durata promessa. Con un intervallo pari a zero, l’orario del blocco successivo coincide con il limite. I valori devono essere minuti interi da zero a 1,440, così Lei può non lasciare alcuna transizione oppure proteggere un’intera giornata. Il risultato include anche next_block_day_offset, perché una sessione serale e il suo intervallo possono oltrepassare la mezzanotte anche se il timebox non lo fa. Questo passaggio esplicito evita orari ambigui come 00:10, che altrimenti non mostrerebbero che l’ora visualizzata appartiene a domani.
Interpreti il cambio di giorno e la convalida
Gli orari si ripetono ogni ventiquattro ore, mentre il tempo trascorso non si ripete. Per questo, entrambi gli orari calcolati hanno un campo corrispondente per lo scostamento del giorno. Supponga che un blocco inizi alle 23:30 e duri novanta minuti. Il limite è 01:00 con scostamento uno, non 01:00 precedente nello stesso giorno. Se segue un intervallo di trenta minuti, il primo blocco successivo inizia alle 01:30 con lo stesso scostamento. Durate maggiori possono produrre valori superiori a uno, fino al massimo consentito di 10,080 minuti, cioè sette giorni. Gli input sono volutamente rigorosi affinché le integrazioni API siano prevedibili: start_time deve contenere due cifre per l’ora, i due punti e due cifre per i minuti; le ore vanno da 00 a 23 e i minuti da 00 a 59. Durata e intervallo devono essere numeri interi finiti entro i limiti dichiarati. I valori non validi restituiscono un errore di input, senza arrotondamenti, ipotesi o interpretazioni regionali. Data, ora legale, orologio corrente, rete e fuso nascosto non influenzano il calcolo.
Casi d'uso
Prepari l’ordine del giorno
Trasformi ogni punto in un limite visibile e mantenga una transizione prima del relatore o della sessione seguente.
Pianifichi una sessione di concentrazione
Calcoli quando deve finire il lavoro profondo e riservi un breve intervallo per salvare, annotare e recuperare.
Programmi colloqui o laboratori
Separi il tempo promesso ai partecipanti da cambi di sala, valutazioni, riordino o preparazione.
Domande frequenti
Che cosa indica il limite tassativo?
È l’ora iniziale sommata alla durata fissa del timebox. L’attività dovrebbe concludersi in quel momento.
L’intervallo è compreso nella durata?
No. Inizia dopo il limite e posticipa il primo momento consigliato per avviare il blocco seguente.
Che cosa accade se il risultato supera la mezzanotte?
L’orologio passa al giorno seguente e aumenta il relativo campo di scostamento, rendendo evidente il cambio.
Posso inserire secondi o minuti decimali?
No. Il calcolatore accetta inizi HH:MM e valori interi di minuti per durata e intervallo.
Il calcolatore usa il mio fuso orario?
No. Esegue solo aritmetica deterministica, senza data, ora corrente, ora legale o fuso orario.
Quanto costa una richiesta API?
Ogni richiesta API costa $0.002. Lo stesso calcolo deterministico può essere eseguito anche nel browser.
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/biz/timebox-end \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"start_time":"09:35","duration_minutes":50}'const res = await fetch("https://api.kit.forhosting.com/biz/timebox-end", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"start_time": "09:35",
"duration_minutes": 50
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/biz/timebox-end",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"start_time": "09:35",
"duration_minutes": 50
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/biz/timebox-end", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"start_time":"09:35","duration_minutes":50}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"start_time":"09:35","duration_minutes":50}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/biz/timebox-end", 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_time": "09:35",
"duration_minutes": 50
}Esempio di risposta
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "biz.timebox_end",
"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. |