์ง๊ธ๋ถํฐ ๋ช ๋ถ ํ ๊ณ์ฐ๊ธฐ๋?
์ด ๋๊ตฌ๋ ์์ ์๊ฐ์ ์ํ๋ ๋ถ ์๋ฅผ ๋ํด 24์๊ฐ์ ๊ธฐ์ค ๊ฒฐ๊ณผ ์๊ฐ์ ์๋ ค์ค๋๋ค. ์์ ์ ๋์ด๊ฐ๋ ๊ฒฝ์ฐ์๋ ๋ฉฐ์น ์ด ๋์ด๊ฐ๋์ง ์๋์ผ๋ก ๊ณ์ฐํด ํ์ํฉ๋๋ค. ์๋ฆฌ ํ์ด๋จธ, ์ฃผ์ฐจ ๋ง๋ฃ ์๊ฐ, ๋ณต์ฝ ์๊ฐํ, ํ์ ์๋ฆผ ๋ฑ "์ง๊ธ๋ถํฐ N๋ถ ๋ค๋ฉด ๋ช ์์ผ๊น?"๊ฐ ๊ถ๊ธํ ๋ชจ๋ ์๊ฐ์ ์ ์ฉํฉ๋๋ค.
์ฌ์ฉ ๋ฐฉ๋ฒ
๋ํ๊ณ ์ถ์ ๋ถ ์๋ฅผ ์ ๋ ฅํ ๋ค์, ์์ ์(0~23)์ ์์ ๋ถ(0~59)์ ์ ๋ ฅํ์ธ์. ๊ธฐ๋ณธ ์์ ์๊ฐ์ ์๋ฒ์ ํ์ฌ ์๊ฐ์ผ๋ก ์ค์ ๋ฉ๋๋ค. ๊ณ์ฐ๊ธฐ๋ ๊ฒฐ๊ณผ ์๊ฐ์ HH:MM ํ์์ผ๋ก ๋ณด์ฌ์ฃผ๋ฉฐ, ๊ฒฐ๊ณผ ์ยท๊ฒฐ๊ณผ ๋ถยทํ๋ฃจ ์ค ๋์ ๋ถ(์์ ๋ถํฐ ํ๋ฅธ ์ด ๋ถ)ยท๋์ด๊ฐ ์ผ์๊น์ง ํจ๊ป ํ์ํฉ๋๋ค.
๊ณต์ ํ์ด
๋จผ์ ์์ ์๊ฐ์ ์์ ์ดํ ๋์ ๋ถ์ผ๋ก ํ์ฐํฉ๋๋ค: \(\text{startTotal} = \text{์์ ์} \times 60 + \text{์์ ๋ถ}\). ์ฌ๊ธฐ์ ์ ๋ ฅํ ๋ถ์ ๋ํ๋ฉด \(\text{totalMinutes}\)๊ฐ ๋ฉ๋๋ค. ๋์ด๊ฐ ์ผ์๋ ์ด ์ดํฉ ์์ ๋ค์ด ์๋ 1440๋ถ(ํ๋ฃจ) ๋จ์์ ์ ์ ๊ฐ์์ด๋ฉฐ, ํ๋ฃจ ์ค ๋ถ์ ๊ทธ ๋๋จธ์ง์ ๋๋ค. ๋ง์ง๋ง์ผ๋ก ์๋ 'ํ๋ฃจ ์ค ๋ถ'์ 60์ผ๋ก ๋๋ ๋ชซ, ๋ถ์ ๊ทธ ๋๋จธ์ง๊ฐ ๋ฉ๋๋ค.
$$\begin{gathered} \text{Result Time} = \left(\,T \bmod 1440\,\right) \\[1.5em] \text{where}\quad \left\{ \begin{aligned} T &= 60 \times \text{Start Hour} + \text{Start Minute} + \text{Minutes} \\ \text{Hour} &= \left\lfloor \dfrac{T \bmod 1440}{60} \right\rfloor \\ \text{Minute} &= (T \bmod 1440) - 60 \times \text{Hour} \end{aligned} \right. \end{gathered}$$
์์๋ก ๋ณด๊ธฐ
14:30์์ ์์ํด 90๋ถ์ ๋ํด ๋ด ์๋ค. \(\text{startTotal} = 14 \times 60 + 30 = 870\). \(\text{totalMinutes} = 870 + 90 = 960\). \(960 \div 60 = 16\)์, \(960 \bmod 60 = 0\)๋ถ โ ๊ฒฐ๊ณผ๋ 16:00์ ๋๋ค. ์ฆ 14:30์ 1์๊ฐ 30๋ถ์ ๋ํ๋ฉด 16:00์ด ๋ฉ๋๋ค. ๋ง์ฝ 16:30(ํ๋ฃจ ์ค ๋ถ 990)์ ๋๋ฌํ๊ณ ์ถ๋ค๋ฉด 90๋ถ์ด ์๋๋ผ 120๋ถ์ ๋ํด์ผ ํฉ๋๋ค.
์์ฃผ ๋ฌป๋ ์ง๋ฌธ
์์ ์ ๋์ด๊ฐ๋ ๊ณ์ฐ๋๋์? ๋ค โ "๋์ด๊ฐ ์ผ์" ํญ๋ชฉ์ ๋ฉฐ์น ์ด ์ง๋ฌ๋์ง ํ์๋ฉ๋๋ค.
์ด๋ค ์๊ณ ํ์์ ์ฌ์ฉํ๋์? 24์๊ฐ์ (00:00~23:59)๋ก ๊ฒฐ๊ณผ๋ฅผ ์ถ๋ ฅํฉ๋๋ค.
ํ๋ฃจ๊ฐ ๋๋ ๋ถ๋ ๋ํ ์ ์๋์? ๋ค, 0 ์ด์์ ์ด๋ค ๋ถ ์๋ ์ ๋ ฅํ ์ ์์ต๋๋ค.