계산 방법을 고르고, 일어나고 싶은 시각(또는 자는 시각)을 24시간제로 입력하세요. 수면 주기의 끝에 맞는 취침 시각(또는 기상 시각)을 1~7주기분 한꺼번에 계산합니다.
이 페이지에서 할 수 있는 것
- ‘아침 6시에 일어나고 싶다’ 같은 일어나고 싶은 시각만 넣으면, 수면 주기의 끝에 맞는 취침 시각을 1~7주기분 한꺼번에 알 수 있습니다
- 반대로 ‘밤 23시에 잠자리에 든다’ 같은 자는 시각으로, 주기의 끝에 맞는 기상 시각도 계산할 수 있습니다
- 하룻밤에 4~6주기가 좋다는 일반적인 이론에 따라 5주기와 6주기의 행에 (추천)을 붙여 표시합니다
- 수면 주기의 길이와 잠들 때까지의 시간은 자신의 느낌에 맞게 바꿀 수 있습니다(기본값: 주기 90분, 잠들기까지 15분)
- 공식의 쉬운 해설과 Excel·Google 스프레드시트·Python에 그대로 복사해 쓸 수 있는 수식도 이 페이지에 정리되어 있습니다
이 계산은 어디에 쓰일까요?
‘내일은 5시 기상’인 날일수록 몇 시에 잘지를 감으로 정하기 쉽습니다. 예를 들어 5:00 기상, 잠들기까지 15분이라면 6주기(수면 9시간)로 전날 19:45, 5주기(7시간 30분)로 역시 전날 21:15가 기준이 됩니다.
주기의 끝은 잠이 얕아지기 쉬운 때로 알려져 있어서, 거기에 기상을 맞추면 잘 깨어난다는 생각입니다. 개인차는 있지만 ‘어쩌다 보니 늦게 자는’ 일을 막고 역산으로 자는 시각을 정하는 습관을 들이는 데 도움이 됩니다.
직전까지 공부나 준비를 이어 갈지, 일찍 잘지 망설여질 때 일어날 시각에서 쓸 수 있는 시간을 역산할 수 있습니다. 예를 들어 6:30 기상이라면 5주기(수면 7시간 30분)로 22:45, 4주기(6시간)로 0:15가 취침의 기준입니다.
자는 동안 기억이 정리된다고 알려져 있어서, ‘밤새워 벼락치기’보다 ‘필요한 수면 시간에서 역산해 계획하는’ 편이 안전한 작전이라고 할 수 있습니다.
출근 시각이 날마다 바뀌는 교대 근무에서는 ‘오늘은 몇 시에 잘까’를 매번 생각해야 합니다. 기상 시각만 바꿔 다시 계산하면 그날의 취침 시각 기준을 바로 낼 수 있습니다.
야간 근무를 마치고 낮에 자는 경우도 계산 자체는 같습니다. 다만 일주기 리듬(생체 시계)의 영향으로 낮잠은 얕아지기 쉬우므로 결과는 어디까지나 기준으로 삼고, 힘든 상태가 이어질 때는 의료 기관이나 사업장의 보건관리자에게 상담하는 것도 생각해 보세요.
낮잠을 1주기분(약 90분)으로 하면 잠이 얕은 때에 일어나기 쉽다는 생각이 있습니다. ‘자는 시각으로 일어날 시각을 계산’에서 ‘자는 시각의 1주기 뒤’를 계산하면 알람을 맞출 시각의 기준을 알 수 있습니다(예: 13:00에 누워 잠들기까지 15분이라면 14:45쯤).
한편 깊은 잠에 들기 전인 15~20분 정도의 짧은 쪽잠을 권하는 생각도 있습니다. 긴 낮잠은 밤에 잠드는 데 영향을 줄 수도 있으므로 자신의 생활에 맞게 골라 쓰세요.
공식
용어·기호 해설
기호
| \(B\) | 비 | 취침 시각입니다. 잠자리에 드는 시각으로, 이 계산기가 역산할 때 구하는 값입니다. 영어 bedtime의 첫 글자입니다. |
| \(W\) | 더블유 | 일어나고 싶은 시각(기상 시각)입니다. 역산할 때는 입력값이고, 순서대로 계산할 때는 구하는 값이 됩니다. 영어 wake(일어나다)의 첫 글자입니다. |
| \(F\) | 에프 | 잠들 때까지의 시간입니다. 잠자리에 들고 나서 실제로 잠들 때까지의 시간으로, 이 계산기의 기본값은 15분입니다. 영어 fall asleep(잠들다)의 첫 글자입니다. |
| \(n\) | 엔 | 수면 주기의 수입니다. 이 계산기는 \(n = 1\)~\(7\)의 모든 경우를 계산해서 표시합니다. |
| \(C\) | 씨 | 수면 주기 1번의 길이입니다. 평균은 약 90분으로 알려져 있으며, 이 계산기의 기본값도 90분입니다. 영어 cycle(주기)의 첫 글자입니다. |
| \(S\) | 에스 | 수면 시간입니다. 잠든 뒤 일어날 때까지의 길이로, \(S = n \times C\)로 구합니다. 영어 sleep의 첫 글자입니다. |
용어
| 수면 주기 | 자는 동안 비렘수면과 렘수면이 한 묶음으로 번갈아 되풀이되는, 그 한 주기를 말합니다. 평균은 약 90분으로 알려져 있지만, 사람에 따라(같은 사람이라도 날에 따라) 70~120분 정도의 폭이 있다고 합니다. 하룻밤에 4~6번 정도 되풀이하는 경우가 많다고 합니다. |
| 비렘수면 | 뇌를 쉬게 하는 잠으로, 얕은 단계부터 깊은 단계까지 있습니다. 잠이 들면 가장 먼저 나타나며, 깊은 비렘수면 동안 성장 호르몬의 분비가 활발해진다고 합니다. |
| 렘수면 | 몸은 쉬고 있는데 뇌는 활발하게 움직이는 얕은 잠으로, 또렷한 꿈을 꾸기 쉬운 시간대입니다. REM은 ‘빠른 눈 운동(Rapid Eye Movement)’의 줄임말로, 눈꺼풀 아래에서 눈이 빠르게 움직이는 데서 이름이 붙었습니다. 주기의 후반에 나타나며, 새벽에 가까울수록 길어지는 경향이 있습니다. |
| 일주기 리듬(생체 시계) | 체온이나 호르몬의 분비 등이 약 24시간 주기로 바뀌는, 몸에 갖춰진 리듬입니다. ‘생체 시계’, ‘서캐디언 리듬’이라고도 부릅니다. 해외여행의 시차 피로는 이 리듬과 현지 시각이 어긋나서 생깁니다. |
| 수면 잠복기 | 잠자리에 들어 자려고 한 뒤 실제로 잠들 때까지 걸리는 시간입니다. 이 계산기의 ‘잠들 때까지의 시간’이 이것에 해당하며, 건강한 어른은 대략 10~20분 정도라고 합니다. |
먼저 알아 두면 좋은 내용
이 페이지의 계산을 ‘뜻을 이해하고’ 쓸 수 있도록, 미리 알아 두면 좋은 내용을 정리했습니다.
막히면 이 표의 내용으로 돌아가 복습하는 것이 지름길입니다.
| 시각과 시간의 계산(초등학교 2~3학년, 7~9세) |
|
| 24시간제(초등학교 3학년~, 8세~) |
|
| 곱셈(초등학교 2~3학년, 7~9세) |
|
| 분과 시간의 환산(초등학교 3학년, 8~9세) |
|
Excel로 계산하는 방법
| 일어나고 싶은 시각 | 6:00 |
| 잠들 때까지의 시간(분) | 15 |
| 수면 주기의 길이(분) | 90 |
| 주기 수(번) | 5 |
| 취침 시각 | =MOD(B1-(B2+B3*B4)/1440,1) |
| 자는 시각 | 23:00 |
| 잠들 때까지의 시간(분) | 15 |
| 수면 주기의 길이(분) | 90 |
| 주기 수(번) | 6 |
| 기상 시각 | =MOD(B1+(B2+B3*B4)/1440,1) |
| 수면 주기의 길이(분) | 90 |
| 주기 수(번) | 5 |
| 수면 시간(분) | =B1*B2 |
| 수면 시간(시간) | =B3/60 |
B5의 결과가 ‘0.927…’ 같은 숫자로 표시되면 셀의 표시 형식을 ‘h:mm’(시각)으로 바꾸세요. 세 번째 표의 답은 450(분)과 7.5(시간)입니다. B열을 자신의 숫자로 바꾸기만 하면 쓸 수 있습니다.
Google 스프레드시트로 계산하는 방법
| 일어나고 싶은 시각 | 6:00 |
| 잠들 때까지의 시간(분) | 15 |
| 수면 주기의 길이(분) | 90 |
| 주기 수(번) | 5 |
| 취침 시각 | =MOD(B1-(B2+B3*B4)/1440,1) |
| 자는 시각 | 23:00 |
| 잠들 때까지의 시간(분) | 15 |
| 수면 주기의 길이(분) | 90 |
| 주기 수(번) | 6 |
| 기상 시각 | =MOD(B1+(B2+B3*B4)/1440,1) |
| 수면 주기의 길이(분) | 90 |
| 주기 수(번) | 5 |
| 수면 시간(분) | =B1*B2 |
| 수면 시간(시간) | =B3/60 |
결과가 ‘0.927…’ 같은 숫자로 표시되면 메뉴의 ‘서식 → 숫자 → 시간’으로 시각 표시로 바꿀 수 있습니다.
Python으로 계산하는 방법
from datetime import datetime, timedelta
wake_time = datetime(2026, 7, 13, 6, 0) # 일어나고 싶은 시각(날짜는 날짜 넘김 판정용의 임시 날짜면 됨)
fall_asleep_minutes = 15 # 잠들 때까지의 시간(분)
cycle_minutes = 90 # 수면 주기의 길이(분)
for cycles in range(7, 0, -1):
bedtime = wake_time - timedelta(minutes=fall_asleep_minutes + cycles * cycle_minutes)
sleep_hours = cycles * cycle_minutes / 60 # 수면 시간(시간)
recommended = "(추천)" if cycles in (5, 6) else "" # 하룻밤 4~6주기 이론에 바탕을 둔 기준
day = "전날 " if bedtime.date() < wake_time.date() else ""
print(f"{cycles}주기(수면 {sleep_hours:g}시간): {day}{bedtime:%H:%M} {recommended}")
LaTeX 등 수식 언어로 쓰는 법(복사 가능)
B = W − F − n × C
B = W - F - nC
<math xmlns="http://www.w3.org/1998/Math/MathML" display="block">
<mrow>
<mi>B</mi><mo>=</mo>
<mi>W</mi><mo>−</mo>
<mi>F</mi><mo>−</mo>
<mi>n</mi><mo>×</mo><mi>C</mi>
</mrow>
</math>
B = W - F - n C
b = w - f - n*c
B := W - F - n*C;
B = W - F - n*C;
B = W - F - nC
S = n × C
S = nC
<math xmlns="http://www.w3.org/1998/Math/MathML" display="block">
<mrow>
<mi>S</mi><mo>=</mo>
<mi>n</mi><mo>×</mo><mi>C</mi>
</mrow>
</math>
S = n C
s = n*c
S := n*C;
S = n*C;
S = nC
ChatGPT 에게 물어서 계산하는 방법
당신은 수면 주기 계산 도우미입니다. 다음 계산을 반드시 Python 코드를 실제로 실행해서 하고, 실행 결과의 숫자만을 근거로 답해 주세요(암산이나 추측으로 답하지 마세요). 아침 6시 0분에 일어나고 싶은 사람이 있습니다. 잠들 때까지의 시간은 15분, 수면 주기 1번의 길이는 90분으로 합니다. 주기 수가 1~7번인 각각에 대해 ‘취침 시각 = 일어나고 싶은 시각 − 잠들 때까지의 시간 − 주기 수 × 주기 길이’로 취침 시각을 계산해 주세요. 시각이 0:00보다 앞이 되면 전날로 넘겨 주세요. 주기 수별 취침 시각(24시간제)과 수면 시간의 목록을 보여 주세요. 이것은 일반적인 이론에 바탕을 둔 기준이며 의학적 조언이 아니라는 점도 덧붙여 주세요.
사용법
-
1숫자 입력계산하고 싶은 숫자를 입력란에 입력합니다
-
2계산‘계산’ 버튼을 누릅니다
-
3결과 확인계산 결과가 바로 표시됩니다. 계산의 원리와 공식 해설도 같은 페이지에서 확인할 수 있습니다
DataChef의 특징
전문 지식 없이도 직관적이고 간단하게 사용
개인정보를 등록하지 않고도 이용할 수 있습니다
"다운로드"를 누르면 파일이 자동으로 삭제됩니다
출처 표기 불필요
상업적 이용 허가 연락도 필요 없습니다