시작 시각과 종료 시각을 24시간제로 입력하세요. 휴게시간(분)을 넣으면 휴게를 뺀 실근로시간도 함께 계산합니다.
목차
이 페이지에서 할 수 있는 것
- ‘9시부터 17시 30분까지’ 같은 시작 시각과 종료 시각(24시간제)으로 그 사이의 시간(구속 시간)을 바로 알 수 있습니다
- 휴게시간(분)을 넣으면 휴게를 뺀 실근로시간도 함께 계산합니다
- ‘7시간 30분 → 7.5시간’처럼 시급 계산의 곱셈에 그대로 쓸 수 있는 10진 시간(소수로 나타낸 시간)과 실근로시간의 총 분도 표시합니다
- ‘22시부터 다음 날 아침 6시까지’처럼 종료 시각이 시작 시각보다 이른 야간 근무(날짜 넘김)의 근무시간도 계산할 수 있습니다
- 공식에 대한 쉬운 해설과 Excel, Google 스프레드시트, Python용 복사해 쓰는 수식도 이 페이지에 정리되어 있습니다
이 계산은 어디에 쓰일까요?
9시부터 17시 30분까지 근무하고 휴게가 1시간이면 실근로는 7시간 30분 = 10진 시간으로 7.5시간입니다. 시급이 11,000원이라면 \(11000 \times 7.5 = 82500\)원입니다.
‘7시간 30분’을 ‘7.3시간’으로 써 버리면 급여를 잘못 계산합니다. 분을 60으로 나누어 소수로 바꾸는 이 환산만 알면 급여 명세서 확인이나 근무별 수입 어림을 직접 할 수 있습니다.
회사의 근태 관리에서는 날마다의 출근 시각·퇴근 시각으로 구속 시간을 구하고, 휴게를 뺀 실근로시간을 월 단위로 쌓아 급여를 계산합니다.
근태 관리 시스템이 내부에서 하는 일도 이 페이지의 ‘시각을 분으로 바꿔 빼고, 휴게를 뺀다’는 계산의 반복입니다. 손으로 쓰는 출근부나 작은 가게의 근무표 집계라면 이 계산을 알고 있으면 계산기와 메모로 충분히 할 수 있습니다.
22시부터 다음 날 아침 6시까지의 야간 근무는 숫자만 보면 ‘6 − 22’로 음수가 되지만, 하루치 24시간(1440분)을 더하면 8시간 근무라는 것을 알 수 있습니다.
간호, 요양, 공장, 편의점처럼 야간 근무가 있는 일에서는 날짜를 넘기는 시간 계산이 매일의 기본입니다. 근로기준법에서는 22시~다음 날 6시의 근로를 야간근로로 보고 통상임금의 50% 이상을 더해 주도록 정하고 있으므로, 이 시간대에 몇 시간 일했는지 확인할 때도 도움이 됩니다.
근로기준법의 법정 근로시간은 1일 8시간, 1주 40시간이며, 이를 넘는 연장근로에는 통상임금의 50% 이상을 더해 주어야 합니다. 9시부터 19시까지 일하고 휴게가 1시간이면 실근로는 9시간으로, 법정 근로시간보다 1시간 길게 일한 셈입니다. 시급이 11,000원이라면 이 1시간에 대해 \(11000 \times 1.5 = 16500\)원 이상을 받게 됩니다.
실근로시간을 정확히 구할 수 있으면 과로를 알아차리거나 연장근로 수당의 기준이 되는 시간을 스스로 확인할 수 있어, 자신의 근로 방식을 지키는 첫걸음이 됩니다(상시 근로자 5명 미만 사업장은 가산 규정이 적용되지 않는 등, 자세한 기준은 법령과 회사 규정을 확인하세요).
19시 15분부터 21시 45분까지 공부했다면 그날의 공부 시간은 2시간 30분입니다. 시작과 종료 시각을 메모해 두면 나중에 이 뺄셈으로 매일의 공부 시간을 집계할 수 있습니다.
자격증 시험 공부 기록이나 재택근무의 작업 로그처럼 ‘몇 시부터 몇 시까지’를 ‘몇 시간 했는지’로 바꾸는 일은 근무뿐 아니라 거의 매일 있습니다.
공식
용어·기호 해설
기호
| \(h\), \(m\) | 에이치, 엠 | 시각의 ‘시’(\(h\))와 ‘분’(\(m\))입니다. 24시간제로 씁니다(예: 오후 5시 30분이면 \(h = 17\), \(m = 30\)). 영어 hour, minute의 첫 글자입니다. |
| \(T\) | 티 | 시각을 ‘자정 0시부터 센 분’으로 바꾼 값입니다. \(T = 60h + m\)으로 구합니다(예: 17시 30분 → 1050분). |
| \(T_1\), \(T_2\) | 티 일, 티 이 | 시작 시각을 분으로 바꾼 값(\(T_1\))과 종료 시각을 분으로 바꾼 값(\(T_2\))입니다(예: 9시 00분 → \(T_1 = 540\), 17시 30분 → \(T_2 = 1050\)). |
| \(E\) | 이 | 구속 시간(시작부터 종료까지의 경과 시간)을 분으로 나타낸 값입니다. 영어 elapsed(경과한)의 첫 글자입니다. |
| \(B\) | 비 | 휴게시간(분)입니다. 영어 break(휴식)의 첫 글자입니다. |
| \(W\) | 더블유 | 실근로시간(구속 시간에서 휴게시간을 뺀, 실제로 일한 시간)을 분으로 나타낸 값입니다. 영어 work(일하다)의 첫 글자입니다. |
| \(H\) | 에이치(대문자) | 실근로시간을 ‘시간’ 단위의 소수로 나타낸 10진 시간입니다. \(H = W \div 60\)으로 구합니다. 소문자 \(h\)(시각의 ‘시’)와 구별하세요(예: 450분 → 7.5시간). |
| \(1440\) | 천사백사십 | 하루의 분 수로, \(24 \times 60 = 1440\)분입니다. 날짜 넘김(시작이 전날) 계산에서 더합니다. |
용어
| 시각 | ‘9시 00분’ 같은 한 시점을 말합니다. ‘8시간 30분’ 같은 길이인 ‘시간’과 구별합니다. 이 페이지는 두 시각 사이에 끼인 시간의 길이를 구합니다. |
| 시간 | ‘8시간 30분’ 같은 시간의 길이를 말합니다. ‘9시 00분’ 같은 한 시점인 ‘시각’과 구별합니다. 이 페이지는 두 시각 사이에 끼인 시간의 길이를 구합니다. |
| 24시간제 | 하루를 0시~23시로 나타내는 시각 표기 방식입니다. 오후 시각은 12를 더합니다(오후 5시 30분 → 17시 30분, 오후 10시 → 22시). 자정은 ‘0시’입니다. |
| 구속 시간 | 시작 시각부터 종료 시각까지 휴게시간도 포함한 시간 전체를 말합니다. 근무에서는 ‘직장에 있는 시간’에 해당합니다. |
| 실근로시간 | 구속 시간에서 휴게시간을 뺀, 실제로 일한 시간을 말합니다. 시급제 아르바이트에서 급여의 대상이 되는 것은 보통 이 실근로시간입니다. 근로기준법상 휴게시간은 근로시간 4시간에 30분 이상, 8시간에 1시간 이상 주어야 합니다. |
| 10진 시간 | ‘7시간 30분’을 ‘7.5시간’처럼 소수로 나타낸 시간입니다. 분을 60으로 나누어 소수로 바꾸므로 시급 × 시간의 곱셈에 그대로 쓸 수 있습니다. ‘7시간 30분 = 7.3시간’이 아니라는 점에 주의하세요. |
| 날짜 넘김 | 야간 근무처럼 근무 도중에 날짜가 바뀌는 것을 말합니다. 종료 시각의 숫자가 시작 시각보다 작아지므로 하루치 1440분을 더해 계산합니다. |
| 60진법 | 60이 모이면 한 묶음(한 단계 위의 단위)이 되는 셈법입니다. 60분이 되면 1시간으로 받아올림합니다. 평소의 소수(10진법)와 섞이면 틀리기 쉬우므로 이 계산기는 일단 모두 분으로 맞춰 계산합니다. |
먼저 알아 두면 좋은 내용
이 페이지의 계산을 ‘뜻을 이해하고’ 쓸 수 있도록 미리 알아 두면 좋은 내용을 정리했습니다.
막히는 부분이 있으면 이 표의 내용으로 돌아가 복습하는 것이 지름길입니다.
| 시각과 시간(초등학교 2~3학년) |
|
| 오전·오후와 24시간제(초등학교 2학년~) |
|
| 받아내림이 있는 뺄셈·나머지가 있는 나눗셈(초등학교 3학년) |
|
| 소수(초등학교 3~6학년) |
|
Excel로 계산하는 방법
| 시(24시간제) | 17 |
| 분 | 30 |
| 분으로 바꾼 시각 | =B1*60+B2 |
| 시작: 시(24시간제) | 9 |
| 시작: 분 | 0 |
| 종료: 시(24시간제) | 17 |
| 종료: 분 | 30 |
| 시작을 분으로 바꾼 값 | =B1*60+B2 |
| 종료를 분으로 바꾼 값 | =B3*60+B4 |
| 구속 시간(분) | =IF(B6<B5,B6-B5+1440,B6-B5) |
| 구속: 시간 | =QUOTIENT(B7,60) |
| 구속: 분 | =MOD(B7,60) |
| 구속 시간(분) | 510 |
| 휴게시간(분) | 60 |
| 실근로시간(분) | =B1-B2 |
| 실근로: 시간 | =QUOTIENT(B3,60) |
| 실근로: 분 | =MOD(B3,60) |
| 10진 시간 | =ROUND(B3/60,2) |
두 번째 표는 B1~B4에 시작과 종료 시각을 넣으면 B5·B6에서 각각 분으로 바꾸고(540과 1050), B7에서 구속 시간(510분)을 구합니다. IF 함수로 종료 쪽이 작을 때 1440을 더하므로 야간 근무(예: 시작 22, 종료 6)도 올바르게 계산됩니다. B8·B9는 QUOTIENT(나눗셈의 몫)와 MOD(나눗셈의 나머지)로 분을 시간과 분으로 나눈 것으로, 답은 8시간 30분입니다.
세 번째 표는 B1에 구속 시간(분), B2에 휴게시간(분)을 넣으면 B3에 실근로시간(450분), B4·B5에 7시간 30분, B6에 10진 시간(7.5. 나누어떨어지지 않을 때는 ROUND로 소수 둘째 자리까지 반올림)이 나옵니다. 시급 × B6으로 급여를 계산할 수 있습니다. B열을 자신의 숫자로 바꾸기만 하면 됩니다.
Google 스프레드시트로 계산하는 방법
| 시(24시간제) | 17 |
| 분 | 30 |
| 분으로 바꾼 시각 | =B1*60+B2 |
| 시작: 시(24시간제) | 9 |
| 시작: 분 | 0 |
| 종료: 시(24시간제) | 17 |
| 종료: 분 | 30 |
| 시작을 분으로 바꾼 값 | =B1*60+B2 |
| 종료를 분으로 바꾼 값 | =B3*60+B4 |
| 구속 시간(분) | =IF(B6<B5,B6-B5+1440,B6-B5) |
| 구속: 시간 | =QUOTIENT(B7,60) |
| 구속: 분 | =MOD(B7,60) |
| 구속 시간(분) | 510 |
| 휴게시간(분) | 60 |
| 실근로시간(분) | =B1-B2 |
| 실근로: 시간 | =QUOTIENT(B3,60) |
| 실근로: 분 | =MOD(B3,60) |
| 10진 시간 | =ROUND(B3/60,2) |
Python으로 계산하는 방법
# 시작 시각과 종료 시각(24시간제), 휴게시간(분)
start_hour, start_minute = 9, 0
end_hour, end_minute = 17, 30
rest_minutes = 60
start_total = start_hour * 60 + start_minute # 시작 시각을 분으로 바꾼 값
end_total = end_hour * 60 + end_minute # 종료 시각을 분으로 바꾼 값
elapsed_minutes = end_total - start_total # 구속 시간(분)
if elapsed_minutes < 0:
# 종료가 시작보다 이름 → 시작이 전날(날짜 넘김)이므로 하루치를 더함
elapsed_minutes += 1440
work_minutes = elapsed_minutes - rest_minutes # 실근로시간(분)
decimal_hours = round(work_minutes / 60, 2) # 10진 시간(시급 계산용)
def format_minutes(total_minutes):
# 분을 ‘8시간 30분’ 형태로 바꿈(0분이면 ‘0시간’)
hours, minutes = divmod(total_minutes, 60)
if hours == 0 and minutes == 0:
return "0시간"
if hours == 0:
return f"{minutes}분"
if minutes == 0:
return f"{hours}시간"
return f"{hours}시간 {minutes}분"
print(f"구속 시간: {format_minutes(elapsed_minutes)}({elapsed_minutes}분)")
print(f"실근로시간: {format_minutes(work_minutes)}({work_minutes}분)")
print(f"10진 시간: {decimal_hours}시간")
LaTeX 등 수식 언어로 쓰는 법(복사 가능)
T = 60h + m
T = 60h + m
<math xmlns="http://www.w3.org/1998/Math/MathML" display="block">
<mrow>
<mi>T</mi><mo>=</mo>
<mn>60</mn><mi>h</mi>
<mo>+</mo><mi>m</mi>
</mrow>
</math>
T = 60h + m
totalMinutes = 60*h + m
T := 60*h + m;
T = 60*h + m;
T = 60h + m
E = T₂ − T₁ (T₂ ≥ T₁), E = T₂ − T₁ + 1440 (T₂ < T₁)
E = T_2 - T_1 \quad (T_2 \ge T_1), \qquad E = T_2 - T_1 + 1440 \quad (T_2 < T_1)
<math xmlns="http://www.w3.org/1998/Math/MathML" display="block">
<mrow>
<mi>E</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>E</mi><mo>=</mo>
<msub><mi>T</mi><mn>2</mn></msub><mo>−</mo>
<msub><mi>T</mi><mn>1</mn></msub>
<mo>+</mo><mn>1440</mn>
</mrow>
</math>
E = T_2 - T_1, E = T_2 - T_1 + 1440
elapsedMinutes = If[t2 >= t1, t2 - t1, t2 - t1 + 1440]
E := `if`(t2 >= t1, t2 - t1, t2 - t1 + 1440);
if t2 >= t1, E = t2 - t1; else, E = t2 - t1 + 1440; end
E = T_2 - T_1 (T_2 ≥ T_1), E = T_2 - T_1 + 1440 (T_2 < T_1)
W = E − B, H = W ÷ 60
W = E - B, \quad H = \dfrac{W}{60}
<math xmlns="http://www.w3.org/1998/Math/MathML" display="block">
<mrow>
<mi>W</mi><mo>=</mo>
<mi>E</mi><mo>−</mo><mi>B</mi>
<mo>,</mo><mspace width="0.7em"/>
<mi>H</mi><mo>=</mo>
<mfrac><mi>W</mi><mn>60</mn></mfrac>
</mrow>
</math>
W = E - B, H = W / 60
workMinutes = elapsedMinutes - restMinutes; decimalHours = workMinutes / 60
W := E - B; H := W / 60;
W = E - B; H = W / 60;
W = E - B, H = W / 60
ChatGPT 에게 물어서 계산하는 방법
당신은 근무시간 계산 도우미입니다. 다음 계산은 반드시 Python 코드를 실제로 실행해서 하고, 실행 결과의 숫자만을 근거로 답해 주세요(암산이나 추측으로 답하지 마세요). 시작 시각 9시 00분, 종료 시각 17시 30분(둘 다 24시간제, 같은 날), 휴게시간 60분인 근무가 있습니다. 다음을 각각 구해 주세요. 1. 구속 시간(시작부터 종료까지의 시간, ‘○시간 ○분’ 형태) 2. 실근로시간(구속 시간에서 휴게시간을 뺀 시간, ‘○시간 ○분’ 형태) 3. 실근로시간을 10진 시간(실근로 분 ÷ 60)과 총 분으로 나타낸 값 시각은 ‘60 × 시 + 분’으로 분으로 바꾼 다음 빼 주세요. 종료 시각이 시작 시각보다 이르면 시작이 전날(날짜 넘김)이라고 보고 1440분을 더해 주세요. 사용한 식과 실행 결과의 숫자를 보여 주세요.
사용법
-
1숫자 입력계산하고 싶은 숫자를 입력란에 입력합니다
-
2계산‘계산’ 버튼을 누릅니다
-
3결과 확인계산 결과가 바로 표시됩니다. 계산의 원리와 공식 해설도 같은 페이지에서 확인할 수 있습니다
DataChef의 특징
전문 지식 없이도 직관적이고 간단하게 사용
개인정보를 등록하지 않고도 이용할 수 있습니다
"다운로드"를 누르면 파일이 자동으로 삭제됩니다
출처 표기 불필요
상업적 이용 허가 연락도 필요 없습니다