์ด ๊ณ์ฐ๊ธฐ๋ ๋ฌด์์ ํ๋์?
์ด ์ผ์ยท์ด๋ฒคํธ ์นด์ดํธ๋ค์ด ๊ณ์ฐ๊ธฐ๋ ์ํ๋ ์๊ฐ๊น์ง ์ ํํ ์ผ๋ง๋ ๋จ์๋์ง ์๋ ค์ค๋๋ค. ์ผ์, ๋ก์ผ ๋ฐ์ฌ, ์์ผ, ์ ์ ํ ์ถ์, ๋ง๊ฐ์ผ ๋ฑ ์ด๋ค ์๊ฐ์ด๋ ๊ฐ๋ฅํฉ๋๋ค. ๋จ์ ์๊ฐ์ ์ผยท์ยท๋ถยท์ด๋ก ๋๋ ์ ๋ณด์ฌ์ฃผ๊ณ , ์ด ์ด์ ์ด ์๊ฐ๋ ํจ๊ป ํ์ํฉ๋๋ค. ๋ชจ๋ ๋ชฉํ ์๊ฐ์ UTC(ํ์ ์ธ๊ณ์) ๊ธฐ์ค์ผ๋ก ํด์๋๋ฏ๋ก ์ ์ธ๊ณ ์ด๋์๋ ๊ฒฐ๊ณผ๊ฐ ๋ช ํํฉ๋๋ค. (ํ๊ตญ ํ์ค์ KST๋ UTC๋ณด๋ค 9์๊ฐ ๋น ๋ฅด๋ฏ๋ก, ํ๊ตญ ๊ธฐ์ค ์๊ฐ์ ์ ๋ ฅํ ๋๋ 9์๊ฐ์ ๋นผ์ UTC๋ก ๋ณํํด ์ฃผ์ธ์.)
์ฌ์ฉ ๋ฐฉ๋ฒ
๋ชฉํ ๋ ์ง๋ฅผ ์ ๋ ฅํ ๋ค ์(0~23), ๋ถ, ์ด๋ฅผ ์ค์ ํ์ธ์. ๊ธฐ์ค์ด ๋๋ "ํ์ฌ" ํ๋๋ฅผ ๋น์ ๋๋ฉด ์ง๊ธ ์ด ์๊ฐ๋ถํฐ ์นด์ดํธ๋ค์ดํ๊ณ , ํน์ Unix ํ์์คํฌํ(๋ฐ๋ฆฌ์ด)๋ฅผ ์ ๋ ฅํ๋ฉด ๊ณ ์ ๋ ๊ธฐ์ค ์์ ๋ถํฐ ๊ณ์ฐํฉ๋๋ค. ๋ชฉํ ์์ ์ด ์ด๋ฏธ ์ง๋ฌ๋ค๋ฉด, ๊ทธ ์ด๋ฒคํธ ์ดํ ์ผ๋ง๋ ์๊ฐ์ด ํ๋ ๋์ง๋ฅผ ๋์ ๋ณด์ฌ์ค๋๋ค.
๊ณ์ฐ ๊ณต์ ํ์ด
ํต์ฌ์ ๋บ์ ์ ๋๋ค. ๋ชฉํ ์์ ์์ ๊ธฐ์ค ์์ ์ ๋นผ๋, ๋ ์์ ๋ชจ๋ Unix ๊ธฐ์ค ์๊ฐ(์ํฌํฌ) ์ดํ ๊ฒฝ๊ณผํ ๋ฐ๋ฆฌ์ด๋ก ์ธก์ ํฉ๋๋ค.
$$\Delta = t_{\text{target}} - t_{\text{now}}$$
๊ทธ ์ฐจ์ด์ ์ ๋๊ฐ์ 1000์ผ๋ก ๋๋ ๋ค ๋ด๋ฆผํ๋ฉด ์ด ์ ์ ์ด๊ฐ ๋์ต๋๋ค. ์ฌ๊ธฐ์ ์ ์ ๋๋์ ์ผ๋ก ๋จผ์ ์ผ์(รท86,400)๋ฅผ ๋ผ์ด๋ด๊ณ , ๋๋จธ์ง์์ ์๊ฐ(รท3,600), ๊ทธ๋ค์ ๋ถ(รท60)์ ์ฐจ๋ก๋ก ๊ตฌํ๋ฉด ๋ง์ง๋ง์ ์ด๊ฐ ๋จ์ต๋๋ค.
$$d=\left\lfloor\tfrac{S}{86400}\right\rfloor,\; h=\left\lfloor\tfrac{S\bmod 86400}{3600}\right\rfloor,\; m=\left\lfloor\tfrac{S\bmod 3600}{60}\right\rfloor,\; s=S\bmod 60$$
๊ณ์ฐ ์์
์ง๊ธ๊ณผ ๋ชฉํ ์์ ์ฌ์ด์ ๊ฐ๊ฒฉ์ด 90,061์ด๋ผ๊ณ ํด ๋ด ์๋ค. ์ผ์ = \(\lfloor 90061 \div 86400 \rfloor = 1\), ๋จ์ ์๊ฐ์ 3,661์ด์ ๋๋ค. ์๊ฐ = \(\lfloor 3661 \div 3600 \rfloor = 1\), ๋จ์ ์๊ฐ์ 61์ด์ ๋๋ค. ๋ถ = \(\lfloor 61 \div 60 \rfloor = 1\), ๋จ์ ์๊ฐ์ 1์ด์ ๋๋ค. ๋ฐ๋ผ์ ์นด์ดํธ๋ค์ด์ 1์ผ 1์๊ฐ 1๋ถ 1์ด๋ก ํ์๋ฉ๋๋ค.
์์ฃผ ๋ฌป๋ ์ง๋ฌธ
์ด๋ค ์๊ฐ๋๋ฅผ ์ฌ์ฉํ๋์? ๋ชฉํ ๋ ์ง์ ์๊ฐ์ UTC๋ก ์ฒ๋ฆฌ๋๋ฉฐ, ์ ๋ ฅํ "ํ์ฌ" ํ์์คํฌํ ์ญ์ Unix ๋ฐ๋ฆฌ์ด(๋ง์ฐฌ๊ฐ์ง๋ก UTC ๊ธฐ์ค)์ด๋ฏ๋ก ๋ ๊ฐ์ด ๋์ผํ ๊ธฐ์ค์์ ๋ง์๋จ์ด์ง๋๋ค. ํ๊ตญ ์๊ฐ(KST)์ UTC๋ณด๋ค 9์๊ฐ ๋น ๋ฆ ๋๋ค.
๋ ์ง๊ฐ ์ด๋ฏธ ์ง๋ฌ๋ค๋ฉด ์ด๋ป๊ฒ ๋๋์? ๊ณ์ฐ๊ธฐ๋ ํด๋น ์ด๋ฒคํธ ์ดํ ๊ฒฝ๊ณผํ ์๊ฐ์ ๋ณด์ฌ์ฃผ๊ณ , ์ด๋ฏธ ์ง๋ฌ๋ค๋ ์ ์ ํ์ํฉ๋๋ค.
์ผ์๊น์ง ์นด์ดํธ๋ค์ดํ ์ ์๋์? ๋ฌผ๋ก ์ ๋๋ค. ์ผ์์ ๋ ์ง์ ์ต๋ ์์ด ์ผ์ด๋๋ UTC ์๊ฐ์ ์ ๋ ฅํ๋ฉด ๋จ์ ์๊ฐ์ ์ค์๊ฐ์ผ๋ก ๋ถํดํด์ ๋ณด์ฌ์ค๋๋ค.