時間1と時間2を、日・時間・分・秒で入力してください。和(時間1 + 時間2)と差(時間1 − 時間2)の両方を同時に計算します。
このページでできること
- 「1日2時間30分 + 23時間45分10秒」のような、日・時間・分・秒で表した2つの時間(時間の長さ)の足し算・引き算ができます
- 和(時間1 + 時間2)と差(時間1 − 時間2)を同時に計算して表示します
- 60秒 = 1分・60分 = 1時間・24時間 = 1日のくり上がり・くり下がりは自動で処理し、秒に直した途中式も表示します
- 引き算の結果がマイナスになる場合も、「−1日 2時間」のようにわかりやすく表示します
- 式のやさしい解説・Excel/Googleスプレッドシート/Python用のコピペ数式・計算ドリル(演習問題)もこのページにまとまっています
この計算は何の役に立つ?
月曜8時間45分、火曜7時間50分働いたら、2日間の合計は16時間35分です(分は45 + 50 = 95でくり上がって1時間35分、時間は8 + 7 + 1 = 16)。
給与計算や勤怠管理では、日ごとの勤務時間をこのように足し合わせ、所定労働時間との差から残業時間を求めます。時間の足し算・引き算は、働く人みんなの給料に直結する計算です。
マラソンで今回のタイムが3時間28分50秒、前回が3時間45分30秒なら、差は16分40秒の短縮です(3:45:30 − 3:28:50 = 0:16:40)。
陸上・水泳・自転車などの記録競技では、自己ベストとの差・ライバルとの差を秒単位で計算して、練習の成果やペース配分を確かめます。
1時間48分の動画と2時間15分の動画を続けて見ると、合計は4時間3分です(分は48 + 15 = 63でくり上がり)。
動画編集で素材の長さを合計したり、プレイリストや会議の録画が全部で何時間になるかを見積もったりするのは、まさにこの時間の足し算です。
下ごしらえ30分、煮込み1時間45分の料理は、始めてから合計2時間15分かかります。
複数の工程の時間を足し上げると「全部で何時間かかるか」がわかり、逆に食事の時刻から引き算すれば「何時に取りかかればよいか」も見積もれます。仕事の作業時間の段取りでも同じ計算が使えます。
目標の睡眠時間が7時間で、今日の実際の睡眠が5時間30分なら、不足は1時間30分です。
睡眠の記録アプリでも「目標との差」はこの引き算で出しています。不足分を数字で見えるようにすると、「今夜は早く寝よう」という判断がしやすくなります。
式
用語・記号の解説
記号
| \(T_1\)・\(T_2\) | ティー・いち、ティー・に | 計算する2つの時間(時間の長さ)。時間1(\(T_1\))と時間2(\(T_2\))です。(例:\(T_1\) = 1日2時間30分、\(T_2\) = 23時間45分10秒) |
| \(S\) | エス | 2つの時間の和(時間1 + 時間2)。英語の sum(和)の頭文字です。 |
| \(D\) | ディー(大文字) | 2つの時間の差(時間1 − 時間2)。英語の difference(差)の頭文字です。小文字の \(d\)(日数)と区別してください。 |
| \(d\)・\(h\)・\(m\)・\(s\) | ディー、エイチ、エム、エス | 時間の内訳の、日数(\(d\))・時間(\(h\))・分(\(m\))・秒(\(s\))。「1日2時間30分」なら \(d = 1\)、\(h = 2\)、\(m = 30\)、\(s = 0\) です。英語の day・hour・minute・second の頭文字です。 |
| \(T\) | ティー(大文字) | 時間を秒に直した値。\(T = 86400d + 3600h + 60m + s\) で求めます。(例:1日2時間30分 → 95400秒) |
| \(q\)・\(r\) | キュー、アール | 秒に直した値を86400で割ったときの商(日数 \(q\))と余り(残りの秒 \(r\))。\(180910 \div 86400 = 2\) 余り \(8110\) なら、\(q = 2\)、\(r = 8110\) です。 |
用語
| 時刻 | じこく | 「8時30分」のような時の一点のこと。「2時間30分」のような時の長さである「時間」と区別します。時刻の計算(○時間後は何時?)は関連ページの「日時の加算・減算」が担当します。 |
| 時間 | じかん | 「2時間30分」のような時の長さのこと。「8時30分」のような時の一点である「時刻」と区別します。このページで足し引きするのは長さの方の「時間」です。 |
| 60進法 | ろくじっしんほう ろくじゅっしんほう | 60でひとまとまり(1つ上の単位)になる数え方。60秒で1分、60分で1時間にくり上がります。時間と日の間だけは24でくり上がる点に注意してください。 |
| くり上がり | くりあがり | 足し算で単位の上限を超えた分を上の単位へ送ること(30分 + 45分 = 75分 → 1時間15分)。時間の計算では60や24を単位にくり上げます。 |
| くり下がり | くりさがり | 引き算で足りない分を上の単位から借りてくること(1時間15分 − 30分 → 75分 − 30分 = 45分)。時間の計算では60や24を単位にくり下げます。 |
| 商 | しょう | 割り算で「何回分入るか」の答え。\(180910 \div 86400 = 2\) 余り \(8110\) なら商は \(2\) で、これが日数になります。 |
| 余り | あまり | 割り算で「割り切れずに残った分」。\(180910 \div 86400 = 2\) 余り \(8110\) なら余りは \(8110\) で、これが日数に満たない残りの秒になります。 |
| 絶対値 | ぜったいち | 符号(プラス・マイナス)を外した数の大きさ。−93784秒の絶対値は93784秒です。マイナスの時間を日・時間・分・秒に分けるときは、絶対値で分けてから先頭にマイナスを付けます。 |
前提として理解しておくといいこと
このページの計算を「意味がわかって」使えるようになるために、前提として理解しておくといいことをまとめました。
つまずいたら、この表の内容に戻って復習するのが近道です。
| 時刻と時間(小学2〜3年) |
|
| くり上がり・くり下がりの足し算引き算(小学2年) |
|
| 余りのある割り算(小学3年) |
|
| 正の数・負の数(中学1年) |
|
Excelで計算する方法
| 時間1:日 | 1 |
| 時間1:時間 | 2 |
| 時間1:分 | 30 |
| 時間1:秒 | 0 |
| 時間2:日 | 0 |
| 時間2:時間 | 23 |
| 時間2:分 | 45 |
| 時間2:秒 | 10 |
| 時間1を秒に直した値 | =B1*86400+B2*3600+B3*60+B4 |
| 時間2を秒に直した値 | =B5*86400+B6*3600+B7*60+B8 |
| 和(秒) | =B9+B10 |
| 差(秒) | =B9-B10 |
| 和:日 | =QUOTIENT(B11,86400) |
| 和:時間 | =QUOTIENT(MOD(B11,86400),3600) |
| 和:分 | =QUOTIENT(MOD(B11,3600),60) |
| 和:秒 | =MOD(B11,60) |
| 差:日 | =QUOTIENT(ABS(B12),86400) |
| 差:時間 | =QUOTIENT(MOD(ABS(B12),86400),3600) |
| 差:分 | =QUOTIENT(MOD(ABS(B12),3600),60) |
| 差:秒 | =MOD(ABS(B12),60) |
| 日 | 1 |
| 時間 | 2 |
| 分 | 30 |
| 秒 | 0 |
| 秒に直した値 | =B1*86400+B2*3600+B3*60+B4 |
| 秒に直した値 | 180910 |
| 日 | =QUOTIENT(B1,86400) |
| 時間 | =QUOTIENT(MOD(B1,86400),3600) |
| 分 | =QUOTIENT(MOD(B1,3600),60) |
| 秒 | =MOD(B1,60) |
差の分解にはABS(絶対値)を使っています。B12がマイナスになったときは、B17〜B20には符号を外した内訳が出るので、B12の符号を見て先頭にマイナスを付けて読んでください。
2つ目の表の答えは95400(秒)、3つ目の表の答えは日2・時間2・分15・秒10です。B列を自分の数値に書き換えるだけで使えます。
Googleスプレッドシートで計算する方法
| 時間1:日 | 1 |
| 時間1:時間 | 2 |
| 時間1:分 | 30 |
| 時間1:秒 | 0 |
| 時間2:日 | 0 |
| 時間2:時間 | 23 |
| 時間2:分 | 45 |
| 時間2:秒 | 10 |
| 時間1を秒に直した値 | =B1*86400+B2*3600+B3*60+B4 |
| 時間2を秒に直した値 | =B5*86400+B6*3600+B7*60+B8 |
| 和(秒) | =B9+B10 |
| 差(秒) | =B9-B10 |
| 和:日 | =QUOTIENT(B11,86400) |
| 和:時間 | =QUOTIENT(MOD(B11,86400),3600) |
| 和:分 | =QUOTIENT(MOD(B11,3600),60) |
| 和:秒 | =MOD(B11,60) |
| 差:日 | =QUOTIENT(ABS(B12),86400) |
| 差:時間 | =QUOTIENT(MOD(ABS(B12),86400),3600) |
| 差:分 | =QUOTIENT(MOD(ABS(B12),3600),60) |
| 差:秒 | =MOD(ABS(B12),60) |
| 日 | 1 |
| 時間 | 2 |
| 分 | 30 |
| 秒 | 0 |
| 秒に直した値 | =B1*86400+B2*3600+B3*60+B4 |
| 秒に直した値 | 180910 |
| 日 | =QUOTIENT(B1,86400) |
| 時間 | =QUOTIENT(MOD(B1,86400),3600) |
| 分 | =QUOTIENT(MOD(B1,3600),60) |
| 秒 | =MOD(B1,60) |
Pythonで計算する方法
# 時間1と時間2(日, 時間, 分, 秒)
days1, hours1, minutes1, seconds1 = 1, 2, 30, 0
days2, hours2, minutes2, seconds2 = 0, 23, 45, 10
total_seconds1 = days1 * 86400 + hours1 * 3600 + minutes1 * 60 + seconds1
total_seconds2 = days2 * 86400 + hours2 * 3600 + minutes2 * 60 + seconds2
sum_seconds = total_seconds1 + total_seconds2 # 和(秒)
diff_seconds = total_seconds1 - total_seconds2 # 差(秒)
def format_duration(total_seconds):
# 秒を「2日 2時間 15分 10秒」の形に戻す(0の単位は省く。マイナスは先頭に1個)
if total_seconds == 0:
return "0秒"
sign = "−" if total_seconds < 0 else ""
rest = abs(total_seconds)
days, rest = divmod(rest, 86400)
hours, rest = divmod(rest, 3600)
minutes, seconds = divmod(rest, 60)
parts = []
if days: parts.append(f"{days}日")
if hours: parts.append(f"{hours}時間")
if minutes: parts.append(f"{minutes}分")
if seconds: parts.append(f"{seconds}秒")
return sign + " ".join(parts)
print(f"時間1: {total_seconds1}秒, 時間2: {total_seconds2}秒")
print(f"和: {format_duration(sum_seconds)}({sum_seconds}秒)")
print(f"差: {format_duration(diff_seconds)}({diff_seconds}秒)")
数式記述言語(LaTeX等)での書き方(コピペ可)
S = T₁ + T₂, D = T₁ − T₂
S = T_1 + T_2, \quad D = T_1 - T_2
<math xmlns="http://www.w3.org/1998/Math/MathML" display="block">
<mrow>
<mi>S</mi><mo>=</mo>
<msub><mi>T</mi><mn>1</mn></msub><mo>+</mo>
<msub><mi>T</mi><mn>2</mn></msub>
<mo>,</mo><mspace width="0.7em"/>
<mi>D</mi><mo>=</mo>
<msub><mi>T</mi><mn>1</mn></msub><mo>−</mo>
<msub><mi>T</mi><mn>2</mn></msub>
</mrow>
</math>
S = T_1 + T_2, D = T_1 - T_2
sum = t1 + t2; difference = t1 - t2
S := T1 + T2; difference := T1 - T2;
S = T1 + T2; D = T1 - T2;
S = T_1 + T_2, D = T_1 - T_2
T = 86400d + 3600h + 60m + s
T = 86400d + 3600h + 60m + s
<math xmlns="http://www.w3.org/1998/Math/MathML" display="block">
<mrow>
<mi>T</mi><mo>=</mo>
<mn>86400</mn><mi>d</mi>
<mo>+</mo><mn>3600</mn><mi>h</mi>
<mo>+</mo><mn>60</mn><mi>m</mi>
<mo>+</mo><mi>s</mi>
</mrow>
</math>
T = 86400d + 3600h + 60m + s
totalSeconds = 86400*d + 3600*h + 60*m + s
T := 86400*d + 3600*h + 60*m + s;
T = 86400*d + 3600*h + 60*m + s;
T = 86400d + 3600h + 60m + s
T = 86400q + r
T = 86400q + r
<math xmlns="http://www.w3.org/1998/Math/MathML" display="block">
<mrow>
<mi>T</mi><mo>=</mo>
<mn>86400</mn><mi>q</mi>
<mo>+</mo><mi>r</mi>
</mrow>
</math>
T = 86400q + r
q = Quotient[t, 86400]; r = Mod[t, 86400]
q := iquo(T, 86400); r := irem(T, 86400);
q = floor(T/86400); r = mod(T, 86400);
T = 86400q + r
ChatGPT に聞いて計算してもらう方法
あなたは時間計算アシスタントです。次の計算を、必ずPythonコードを実際に実行して行い、実行結果の数値だけを根拠に回答してください(暗算や推測で答えないでください)。 時間1「1日2時間30分0秒」と時間2「0日23時間45分10秒」について、和(時間1+時間2)と差(時間1−時間2)を求めてください。 それぞれを秒に直してから足し引きし、結果は60秒=1分・60分=1時間・24時間=1日のくり上がりを処理して「○日○時間○分○秒」の形に戻してください。差がマイナスになる場合は、絶対値を分解して先頭にマイナスを付けてください。 計算に使ったコードと、秒に直した途中の値、最終結果を示してください。
計算ドリル(演習問題)
このページの計算を、自分の手で計算できるようになるための演習問題です。
答えと解説は解答ページにあります。
使い方
-
1数値を入力計算したい数値を入力欄に入力します
-
2計算「計算する」ボタンを押します
-
3結果を確認計算結果がその場に表示されます。計算の考え方や式の解説も同じページで確認できます
DataChefの特徴
専門知識不要、直感的で簡単な操作
個人情報を登録することなく使用できます
「ダウンロード」押下でファイルを自動削除
クレジット表記不要
商用利用許諾の連絡も不要です
