ポモドーロ終了時刻計算|短い休憩・長い休憩に対応
ポモドーロの回数を数えることは簡単でも、短い休憩、長い休憩、日付の切り替わりまで含めて終了時刻を求めるのは意外に面倒です。この計算ツールは24時間表記の開始時刻を基準に、各集中セッションとセッション間の休憩を加算し、正確な終了時刻を表示します。集中時間と休憩時間を分け、休憩の種類ごとの回数と終了までの日数も示すため、1回の学習計画にも長時間の予定にもお役立ていただけます。
無料で実行
実際に始められる時刻からポモドーロ計画を作成します
最初の集中セッションを開始する時刻と、完了したいセッション数をご入力ください。初期設定では、集中25分、短い休憩5分、長い休憩15分とし、4セッションを完了するごとに長い休憩を入れます。これらはすべて変更できるため、標準的なポモドーロだけでなく、お客様独自の学習法や集中作業にも対応します。休憩は、その後に別の集中セッションが続く場合にだけ加算されます。つまり、最後の集中セッションが終わった時点が計画の終了であり、不要な休憩を自動的に追加することはありません。結果の終了時刻は入力と同じ24時間表記で表示され、何日後に終わるかも併記されます。たとえば「01:20、1日後」という結果は、開始日の翌日午前1時20分に終了するという意味です。日付の繰り越しを明示することで、深夜にまたがる計画が実際より短く見えることを防ぎます。
短い休憩と長い休憩の配置をご確認いただけます
休憩の配置は、完了した集中セッションの数に基づきます。通常はセッション後に短い休憩を加え、完了数が指定された長い休憩の間隔に達したときは、その短い休憩を長い休憩に置き換えます。8セッションで4回ごとに長い休憩を取る場合、セッション間の休憩は7回です。4回目の後に長い休憩が1回入り、それ以外は短い休憩が6回入ります。8回目の後には9回目が続かないため、休憩はありません。この違いは重要です。手計算では8セッションに長い休憩を2回加え、作業終了後の時間まで誤って含めることがあるためです。出力には短い休憩と長い休憩の回数、集中時間の合計、休憩時間の合計が表示され、算出根拠をご確認いただけます。連続して取り組む場合は0分の休憩も指定できます。セッション数と各時間は公開された範囲内の整数に限られるため、同じ入力から常に再現可能な結果が得られます。
終了時刻を現実的な予定調整にお役立てください
終了時刻の見積もりは、対応可能な時刻を伝える前、部屋を予約する前、または予定までに学習目標を達成できるか判断する際に便利です。理想的な時刻ではなく、実際に開始できる最も早い時刻をご入力ください。休憩を省くと見栄えのよい締切になりますが、実際には守れないことが多いため、取る可能性の高い休憩も含めることをおすすめします。3セッションごとに長く休む場合は間隔を3に、50分集中する場合は集中時間を50に変更してください。本ツールは端末の現在時刻、カレンダー、地域設定、タイムゾーンを参照せず、時計上の加算だけを行います。そのため、同じ入力ならブラウザーでも API でも同じ結果になります。通知の予約、休憩時期の判断、設定外の中断時間の加算は行いません。結果は計画そのものの所要時間として扱い、準備、食事、移動、タイマーを超える作業については別途余裕を設けてください。
活用例
試験勉強の時間帯を計画
授業、夕食、就寝までに、予定した学習セッションと休憩を終えられるかご確認いただけます。
対応可能な時刻を正確に共有
集中作業の予定を終了時刻に換算し、再び対応できる時刻を同僚へ伝えられます。
独自の集中リズムを比較
集中時間、休憩時間、長い休憩の頻度を変え、複数の方法の終了時刻を比較できます。
よくある質問
最後のポモドーロセッション後にも休憩を加算しますか?
いいえ。最後の集中セッションで計画は完了するため、休憩はセッション間にだけ加算します。
長い休憩はどのように決まりますか?
long_break_every で指定した回数を完了するごとに、次のセッションがある場合のみ短い休憩を長い休憩へ置き換えます。
予定が深夜0時を超える場合はどうなりますか?
終了時刻は24時間表記の該当時刻に戻り、days_later に日付をまたいだ回数が表示されます。
標準以外のポモドーロ時間を使えますか?
はい。集中、短い休憩、長い休憩を整数の分数で指定し、長い休憩の間隔も変更できます。
API の利用料金はいくらですか?
API リクエスト1回の料金は $0.002 です。同じ決定的な計算をブラウザーでも実行できます。
開発者向け — APIアクセス
このページの機能はすべてAPIからも利用できます。自社システムに組み込みたいチーム向けのセクションです。それ以外の方は上のツールをそのままお使いください。
エンドポイント
Bearerトークンで認証し、POST1回でタスクをキューに登録します。結果はWebhookまたは署名付きリンクで受け取れます。
お使いのスタックから呼び出す
curl -X POST https://api.kit.forhosting.com/edu/pomodoro-finish-time \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"start_time":"09:00","sessions":8}'const res = await fetch("https://api.kit.forhosting.com/edu/pomodoro-finish-time", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"start_time": "09:00",
"sessions": 8
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/edu/pomodoro-finish-time",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"start_time": "09:00",
"sessions": 8
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/edu/pomodoro-finish-time", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"start_time":"09:00","sessions":8}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"start_time":"09:00","sessions":8}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/edu/pomodoro-finish-time", body)
req.Header.Set("Authorization", "Bearer "+os.Getenv("KIT_KEY"))
req.Header.Set("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)リクエスト例
{
"start_time": "09:00",
"sessions": 8
}レスポンス例
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "edu.pomodoro_finish_time",
"status": "queued",
"_links": {
"result": "/tasks/tsk_…/result"
}
}非同期APIです。task_idは即時に返ります。ポーリングは1秒あたり1リクエストまでです。
料金
単価はすべて公開しています。トークン換算や独自クレジットはありません。失敗したタスクは課金されません。
エラー
| HTTP | コード | 意味 |
|---|---|---|
401 | unauthorized | APIキーが無効か、指定されていません。Authorizationヘッダーを確認してください。 |
402 | insufficient_balance | 残高が不足しています。チャージ後に再度お試しください。 |
404 | unknown_type | 指定されたタスクタイプは存在しません。タイプ名を確認してください。 |
429 | rate_limited | リクエストが多すぎます。しばらく待ってから再度お試しください。 |