시작과 종료 시각을 24시간제로 입력하세요. 날짜를 넘어갈 때는 시작일·종료일도 입력합니다(같은 날 안의 계산이라면 날짜는 비워 두어도 됩니다).
목차
이 페이지에서 할 수 있는 것
- ‘8시 30분부터 17시 30분까지’ 같은 두 시각 사이의 경과 시간을 ‘9시간’처럼 시간·분·초의 형태로 바로 알 수 있습니다
- 시작일·종료일을 넣으면 ‘7월 10일 22시부터 7월 12일 6시 30분까지’처럼 날짜를 넘어가는 경과 시간도 ‘1일 8시간 30분’ 형태로 계산할 수 있습니다(윤년도 지원)
- ‘32.5시간’ 같은 총 시간(소수로 나타낸 시간), 총 분, 총 초로 환산한 값도 함께 표시합니다
- 날짜를 비워 둔 채 종료 시각이 시작 시각보다 이르면 시작을 전날로 보고 계산합니다(밤을 넘기는 시간 차이도 가능)
- 공식에 대한 쉬운 해설과 Excel, Google 스프레드시트, Python용 복사해 쓰는 수식도 이 페이지에 정리되어 있습니다
이 계산은 어디에 쓰일까요?
22시 00분에 출항해 다음 날 아침 6시 30분에 도착하는 야간 여객선(카페리)의 승선 시간은, 날짜가 바뀌어도 \(23400 - 79200 + 86400 = 30600\)초 = 8시간 30분으로 계산할 수 있습니다.
소요 시간을 알면 배 안에서 잘 수 있는 시간을 가늠하거나 도착 후 일정을 세우기가 훨씬 쉬워집니다. 시간표에 소요 시간이 적혀 있지 않은 노선이나 환승도 출발·도착 시각만 알면 직접 계산할 수 있습니다.
23시 30분에 자서 아침 6시 15분에 일어났다면 수면 시간은 6시간 45분입니다. 밤을 넘기므로 시작을 전날로 보는 계산(86400초를 더함)을 그대로 쓸 수 있습니다.
수면 시간은 건강 관리의 기본 기록입니다. 매일 잠든 시각과 일어난 시각을 메모해 두면 이 뺄셈으로 ‘이번 주는 평균 몇 시간 잤는지’를 직접 집계할 수 있습니다.
9시 00분에 출발해 13시 57분에 결승선을 통과한 마라톤 대회의 기록은 4시간 57분입니다. 스톱워치를 깜빡해도 출발과 도착 시각만 알면 경과 시간은 뺄셈으로 구할 수 있습니다.
육상, 수영, 사이클 같은 기록 측정은 바로 ‘두 시각의 차이’ 계산 그 자체입니다. 분·초의 60진법 받아내림을 올바르게 다루는 것이 기록을 정확하게 비교하는 기초가 됩니다.
19시 15분부터 21시 45분까지 공부했다면 그날의 공부 시간은 2시간 30분입니다. 시작과 종료 시각을 메모해 두면 나중에 이 뺄셈으로 매일의 공부 시간을 집계할 수 있습니다.
자격증 시험 공부 기록이나 재택근무의 작업 로그처럼 ‘몇 시부터 몇 시까지’를 ‘몇 시간 했는지’로 바꾸는 일은 거의 매일 있습니다.
‘7월 10일 18시부터 7월 12일 아침 9시 마감까지 앞으로 몇 시간?’ 날짜 차이 2일을 써서 \(86400 \times 2 + 32400 - 64800 = 140400\)초 = 39시간(1일 15시간)으로 계산할 수 있습니다.
남은 시간을 ‘시간’ 단위로 파악하면 ‘아직 이틀 남았다’는 느낌보다 작업 계획이 훨씬 현실적이 됩니다. 로켓 발사나 시험까지의 카운트다운도 이 날짜를 넘어가는 시간 차이 계산입니다.
공식
용어·기호 해설
기호
| \(h\), \(m\), \(s\) | 에이치, 엠, 에스 | 시각의 ‘시’(\(h\)), ‘분’(\(m\)), ‘초’(\(s\))입니다. 24시간제로 씁니다(예: 오후 5시 30분이면 \(h = 17\), \(m = 30\), \(s = 0\)). 영어 hour, minute, second의 첫 글자입니다. |
| \(T\) | 티 | 시각을 ‘자정 0시부터 센 초’로 바꾼 값입니다. \(T = 3600h + 60m + s\)로 구합니다(예: 17시 30분 00초 → 63000초). |
| \(T_1\), \(T_2\) | 티 일, 티 이 | 시작 시각을 초로 바꾼 값(\(T_1\))과 종료 시각을 초로 바꾼 값(\(T_2\))입니다(예: 8시 30분 00초 → \(T_1 = 30600\), 17시 30분 00초 → \(T_2 = 63000\)). |
| \(h_1, m_1\), \(h_2, m_2\) | 에이치 일, 엠 일, 에이치 이, 엠 이 | 세로셈 공식에서 쓰는, 시작 시각의 시와 분(첨자 1)과 종료 시각의 시와 분(첨자 2)입니다. |
| \(D\) | 디 | 경과 시간(시작부터 종료까지의 시간의 길이)입니다. 영어 duration(지속 시간)의 첫 글자입니다. 이 페이지의 계산기는 초로 구한 다음 ‘9시간’, ‘3시간 59분’ 같은 표시로 바꿉니다. |
| \(n\) | 엔 | 시작일부터 종료일까지의 날짜 차이입니다. 달력대로 날짜만 셉니다(예: 7월 10일 → 7월 12일이면 \(n = 2\)). |
| \(3600\), \(86400\) | 삼천육백, 팔만 육천사백 | 1시간의 초 수(\(60 \times 60 = 3600\)초)와 하루의 초 수(\(24 \times 3600 = 86400\)초)입니다. |
용어
| 시각 | ‘8시 30분’ 같은 한 시점을 말합니다. ‘9시간’ 같은 길이인 ‘시간’과 구별합니다. 이 페이지는 두 시각 사이에 끼인 시간의 길이(경과 시간)를 구합니다. |
| 시간 | ‘9시간’ 같은 시간의 길이를 말합니다. ‘8시 30분’ 같은 한 시점인 ‘시각’과 구별합니다. 이 페이지는 두 시각 사이에 끼인 시간의 길이(경과 시간)를 구합니다. |
| 경과 시간 | 시작 시각부터 종료 시각까지 지난 시간의 길이를 말합니다. 이 페이지에서 구하는 답입니다. |
| 24시간제 | 하루를 0시~23시로 나타내는 시각 표기 방식입니다. 오후 시각은 12를 더합니다(오후 5시 30분 → 17시 30분, 오후 10시 → 22시). 자정은 ‘0시’입니다. |
| 60진법 | 60이 모이면 한 묶음(한 단계 위의 단위)이 되는 셈법입니다. 60초가 되면 1분으로, 60분이 되면 1시간으로 받아올림합니다. 평소의 10진법과 섞이면 틀리기 쉬우므로 이 계산기는 일단 모두 초로 맞춰 계산합니다. |
| 받아내림 | 뺄셈에서 그 자리만으로는 뺄 수 없을 때 한 자리 위에서 빌려 오는 것입니다. 시각의 세로셈에서는 10이 아니라 60을 빌립니다(1시간 = 60분, 1분 = 60초). |
| 날짜 넘김 | 야간 여객선이나 야간 근무처럼 시작부터 종료까지 사이에 날짜가 바뀌는 것을 말합니다. 날짜를 넣지 않고 계산하면 종료 시각의 숫자가 시작 시각보다 작아지므로, 시작을 전날로 보고 하루치 86400초를 더해 계산합니다(날짜를 넣었을 때는 날짜 차이로 계산합니다). |
| 윤년 | 2월 29일이 있는 해(대략 4년에 한 번)입니다. 날짜를 넘어가는 계산에서 날짜 차이를 셀 때 2월 29일이 끼어 있으면 하루가 늘어납니다. 이 계산기는 달력대로 정확하게 셉니다. |
먼저 알아 두면 좋은 내용
이 페이지의 계산을 ‘뜻을 이해하고’ 쓸 수 있도록 미리 알아 두면 좋은 내용을 정리했습니다.
막히는 부분이 있으면 이 표의 내용으로 돌아가 복습하는 것이 지름길입니다.
| 시각과 시간(초등학교 2~3학년) |
|
| 오전·오후와 24시간제(초등학교 2학년~) |
|
| 받아내림이 있는 뺄셈(초등학교 2~3학년) |
|
| 나머지가 있는 나눗셈(초등학교 3~4학년) |
|
| 소수(초등학교 3~6학년) |
|
Excel로 계산하는 방법
| 시(24시간제) | 17 |
| 분 | 30 |
| 초 | 0 |
| 초로 바꾼 시각 | =B1*3600+B2*60+B3 |
| 시작: 시(24시간제) | 8 |
| 시작: 분 | 30 |
| 시작: 초 | 0 |
| 종료: 시(24시간제) | 17 |
| 종료: 분 | 30 |
| 종료: 초 | 0 |
| 시작을 초로 바꾼 값 | =B1*3600+B2*60+B3 |
| 종료를 초로 바꾼 값 | =B4*3600+B5*60+B6 |
| 경과 시간(초) | =IF(B8<B7,B8-B7+86400,B8-B7) |
| 경과: 시간 | =QUOTIENT(B9,3600) |
| 경과: 분 | =QUOTIENT(MOD(B9,3600),60) |
| 경과: 초 | =MOD(B9,60) |
| 시작 일시 | =DATE(2026,7,10)+TIME(22,0,0) |
| 종료 일시 | =DATE(2026,7,12)+TIME(6,30,0) |
| 경과(serial 값의 차 = 일수) | =B2-B1 |
| 경과 시간 표시(시간:분:초) | =TEXT(B2-B1,"[h]:mm:ss") |
| 총 시간(소수로 나타낸 시간) | =(B2-B1)*24 |
두 번째 표는 B1~B6에 시작과 종료 시각을 넣으면 B7·B8에서 각각 초로 바꾸고(30600과 63000), B9에서 경과 시간(32400초)을 구합니다. IF 함수로 종료 쪽이 작을 때 86400을 더하므로 밤을 넘기는 계산에도 대응합니다. B10~B12는 QUOTIENT(나눗셈의 몫)와 MOD(나눗셈의 나머지)로 초를 시간·분·초로 나눈 것으로, 답은 9시간 0분 0초입니다.
세 번째 표는 날짜를 넘어가는 경우입니다. DATE 함수와 TIME 함수로 일시를 만들면 Excel은 serial 값(1일 = 1)으로 저장하므로, B3의 뺄셈만으로 경과 시간이 일 단위의 소수(약 1.3542일)로 나옵니다. B4의 TEXT 서식 ‘[h]:mm:ss’는 24시간을 넘어도 시간을 계속 세므로 ‘32:30:00’으로 표시되고, B5는 serial 값에 24를 곱해 총 시간 32.5를 구합니다. B열의 값을 바꾸기만 하면 됩니다.
Google 스프레드시트로 계산하는 방법
| 시(24시간제) | 17 |
| 분 | 30 |
| 초 | 0 |
| 초로 바꾼 시각 | =B1*3600+B2*60+B3 |
| 시작: 시(24시간제) | 8 |
| 시작: 분 | 30 |
| 시작: 초 | 0 |
| 종료: 시(24시간제) | 17 |
| 종료: 분 | 30 |
| 종료: 초 | 0 |
| 시작을 초로 바꾼 값 | =B1*3600+B2*60+B3 |
| 종료를 초로 바꾼 값 | =B4*3600+B5*60+B6 |
| 경과 시간(초) | =IF(B8<B7,B8-B7+86400,B8-B7) |
| 경과: 시간 | =QUOTIENT(B9,3600) |
| 경과: 분 | =QUOTIENT(MOD(B9,3600),60) |
| 경과: 초 | =MOD(B9,60) |
| 시작 일시 | =DATE(2026,7,10)+TIME(22,0,0) |
| 종료 일시 | =DATE(2026,7,12)+TIME(6,30,0) |
| 경과(serial 값의 차 = 일수) | =B2-B1 |
| 경과 시간 표시(시간:분:초) | =TEXT(B2-B1,"[h]:mm:ss") |
| 총 시간(소수로 나타낸 시간) | =(B2-B1)*24 |
Python으로 계산하는 방법
from datetime import datetime
# 시작과 종료의 일시(날짜를 넘어가지 않으면 같은 날짜로)
start = datetime(2026, 7, 10, 22, 0, 0) # 2026년 7월 10일 22시 00분 00초
end = datetime(2026, 7, 12, 6, 30, 0) # 2026년 7월 12일 6시 30분 00초
duration = end - start # 경과 시간(timedelta 형)
total_seconds = int(duration.total_seconds()) # 총 초
hours, remainder = divmod(total_seconds, 3600) # 시간과 나머지 초
minutes, seconds = divmod(remainder, 60) # 나머지를 분과 초로
days, day_remainder = divmod(total_seconds, 86400) # 일 단위로 나눈 표시용
print(f"경과 시간: {hours}시간 {minutes}분 {seconds}초")
print(f"일 단위로 나눈 표시: {days}일 {day_remainder // 3600}시간 {day_remainder % 3600 // 60}분")
print(f"총 시간: {total_seconds / 3600}시간")
print(f"총 분: {total_seconds / 60}분")
print(f"총 초: {total_seconds}초")
LaTeX 등 수식 언어로 쓰는 법(복사 가능)
T = 3600h + 60m + s
T = 3600h + 60m + s
<math xmlns="http://www.w3.org/1998/Math/MathML" display="block">
<mrow>
<mi>T</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 = 3600h + 60m + s
totalSeconds = 3600*h + 60*m + s
T := 3600*h + 60*m + s;
T = 3600*h + 60*m + s;
T = 3600h + 60m + s
D = T₂ − T₁ (T₂ ≥ T₁), D = T₂ − T₁ + 86400 (T₂ < T₁)
D = T_2 - T_1 \quad (T_2 \ge T_1), \qquad D = T_2 - T_1 + 86400 \quad (T_2 < T_1)
<math xmlns="http://www.w3.org/1998/Math/MathML" display="block">
<mrow>
<mi>D</mi><mo>=</mo>
<msub><mi>T</mi><mn>2</mn></msub><mo>−</mo>
<msub><mi>T</mi><mn>1</mn></msub>
<mo>,</mo><mspace width="0.7em"/>
<mi>D</mi><mo>=</mo>
<msub><mi>T</mi><mn>2</mn></msub><mo>−</mo>
<msub><mi>T</mi><mn>1</mn></msub>
<mo>+</mo><mn>86400</mn>
</mrow>
</math>
D = T_2 - T_1, D = T_2 - T_1 + 86400
durationSeconds = If[t2 >= t1, t2 - t1, t2 - t1 + 86400]
dur := `if`(t2 >= t1, t2 - t1, t2 - t1 + 86400); # D(미분 연산자)는 Maple의 예약어라서 dur로 씀
if t2 >= t1, D = t2 - t1; else, D = t2 - t1 + 86400; end
D = T_2 - T_1 (T_2 ≥ T_1), D = T_2 - T_1 + 86400 (T_2 < T_1)
D = 60(h₂ − h₁) + (m₂ − m₁)
D = 60(h_2 - h_1) + (m_2 - m_1)
<math xmlns="http://www.w3.org/1998/Math/MathML" display="block">
<mrow>
<mi>D</mi><mo>=</mo>
<mn>60</mn>
<mo>(</mo><msub><mi>h</mi><mn>2</mn></msub><mo>−</mo><msub><mi>h</mi><mn>1</mn></msub><mo>)</mo>
<mo>+</mo>
<mo>(</mo><msub><mi>m</mi><mn>2</mn></msub><mo>−</mo><msub><mi>m</mi><mn>1</mn></msub><mo>)</mo>
</mrow>
</math>
D = 60(h_2 - h_1) + (m_2 - m_1)
durationMinutes = 60*(h2 - h1) + (m2 - m1)
dur := 60*(h2 - h1) + (m2 - m1); # D(미분 연산자)는 Maple의 예약어라서 dur로 씀
D = 60*(h2 - h1) + (m2 - m1);
D = 60(h_2 - h_1) + (m_2 - m_1)
D = 86400n + T₂ − T₁
D = 86400n + T_2 - T_1
<math xmlns="http://www.w3.org/1998/Math/MathML" display="block">
<mrow>
<mi>D</mi><mo>=</mo>
<mn>86400</mn><mi>n</mi>
<mo>+</mo><msub><mi>T</mi><mn>2</mn></msub>
<mo>−</mo><msub><mi>T</mi><mn>1</mn></msub>
</mrow>
</math>
D = 86400n + T_2 - T_1
durationSeconds = 86400*n + t2 - t1
dur := 86400*n + T2 - T1; # D(미분 연산자)는 Maple의 예약어라서 dur로 씀
D = 86400*n + T2 - T1;
D = 86400n + T_2 - T_1
ChatGPT 에게 물어서 계산하는 방법
당신은 시간 계산 도우미입니다. 다음 계산은 반드시 Python 코드를 실제로 실행해서 하고, 실행 결과의 숫자만을 근거로 답해 주세요(암산이나 추측으로 답하지 마세요). 시작은 2026년 7월 10일 22시 00분 00초, 종료는 2026년 7월 12일 6시 30분 00초입니다(둘 다 24시간제). 다음을 각각 구해 주세요. 1. 경과 시간(‘○시간 ○분 ○초’ 형태) 2. 일 단위로 나눈 경과 시간(‘○일 ○시간 ○분’ 형태) 3. 총 시간(소수), 총 분, 총 초 경과 시간은 Python의 datetime끼리 빼서 구하고, divmod로 시간·분·초로 나누어 주세요. 사용한 식과 실행 결과의 숫자를 보여 주세요.
사용법
-
1숫자 입력계산하고 싶은 숫자를 입력란에 입력합니다
-
2계산‘계산’ 버튼을 누릅니다
-
3결과 확인계산 결과가 바로 표시됩니다. 계산의 원리와 공식 해설도 같은 페이지에서 확인할 수 있습니다
DataChef의 특징
전문 지식 없이도 직관적이고 간단하게 사용
개인정보를 등록하지 않고도 이용할 수 있습니다
"다운로드"를 누르면 파일이 자동으로 삭제됩니다
출처 표기 불필요
상업적 이용 허가 연락도 필요 없습니다