์ ๋์ค ํ์์คํฌํ ๋ณํ๊ธฐ๋?
์ ๋์ค ํ์์คํฌํ(์ํฌํฌ ์๊ฐ์ด๋ผ๊ณ ๋ ํฉ๋๋ค)๋ 1970๋ 1์ 1์ผ 00:00:00 UTC๋ฅผ ๊ธฐ์ค์ผ๋ก ํ๋ฅธ ์ด ์ด(second) ์๋ฅผ ์๋ฏธํ๋ฉฐ, ์ค์ด๋ ๊ณ์ฐ์ ํฌํจํ์ง ์์ต๋๋ค. ์ด ๋๊ตฌ๋ ์ด ํ๋์ ์ ์ ๊ฐ์ ์ฌ๋์ด ์ฝ์ ์ ์๋ UTC ๋ฌ๋ ฅ ๋ ์ง์ ์๊ฐ์ผ๋ก ๋ณํํ๊ณ , ํด๋น ๋ ์ง์ ์์ผ๊น์ง ํจ๊ป ์๋ ค์ค๋๋ค.
์ฌ์ฉ ๋ฐฉ๋ฒ
์ด ๋จ์ ์ ๋์ค ํ์์คํฌํ(์: 1700000000)๋ฅผ ๋ถ์ฌ๋ฃ๊ฑฐ๋ ์ ๋ ฅํ ๋ค ๋ณํ์ ์คํํ์ธ์. ๋ณํ๊ธฐ๋ UTC ๊ธฐ์ค์ ์ฐยท์ยท์ผยท์ยท๋ถยท์ด์ ํจ๊ป ์์ผ, ๊ทธ๋ฆฌ๊ณ ์ํฌํฌ ์ดํ ๊ฒฝ๊ณผํ ์ผ์๊น์ง ๋ณด์ฌ์ค๋๋ค.
๊ณ์ฐ ๊ณต์ ํ์ด
๋จผ์ ์ด ๊ฐ์ ๋๋ก ๋๋๋๋ค. ์ผ์ = \(\left\lfloor \frac{\text{ts}}{86400} \right\rfloor\)์ด๊ณ , ๋๋จธ์ง๊ฐ ํ๋ฃจ ์ค ์๊ฐ์ด ๋ฉ๋๋ค.
$$\begin{gathered} \text{Days} = \left\lfloor \frac{\text{Timestamp}}{86400} \right\rfloor, \qquad s = \text{Timestamp} \bmod 86400 \\[1.5em] \text{where}\quad \left\{ \begin{aligned} \text{Hour} &= \left\lfloor \frac{s}{3600} \right\rfloor \\ \text{Minute} &= \left\lfloor \frac{s \bmod 3600}{60} \right\rfloor \\ \text{Second} &= s \bmod 60 \\ (\text{Y},\text{M},\text{D}) &= \text{civil}(\text{Days}) \end{aligned} \right. \end{gathered}$$๊ทธ๋ค์ ์ด ์ผ์๋ฅผ ๋ฌ๋ ฅ ๋ ์ง๋ก ๋ณํํ๋๋ฐ, ์ด๋ ์ ์๋ ค์ง ํ์๋ ํ๋ํธ(Howard Hinnant)์ ์ ์ ๊ธฐ๋ฐ "days_from_civil" ์ญ์๊ณ ๋ฆฌ์ฆ์ ์ฌ์ฉํฉ๋๋ค. ์ด ์๊ณ ๋ฆฌ์ฆ์ ํ ํด์ ์์์ 3์๋ก ์ฎ๊ฒจ ์ค์ผ์ด ์ฐ๋ง์ ์ค๋๋ก ํจ์ผ๋ก์จ ์์ธ ์ฒ๋ฆฌ๋ฅผ ํผํ ์ ์๊ฒ ํด ์ค๋๋ค. ์์ผ์ \((\text{Days} + 4) \bmod 7\)๋ก ๊ตฌํ๋๋ฐ, 1970๋ 1์ 1์ผ์ด ๋ชฉ์์ผ์ด์๊ธฐ ๋๋ฌธ์ ๋๋ค.
๊ณ์ฐ ์์
\(\text{ts} = 1{,}700{,}000{,}000\)์ธ ๊ฒฝ์ฐ: ์ผ์ = 19675, ๋๋จธ์ง = 72800์ด = 22:13:20์ ๋๋ค.
$$\text{Days} = \left\lfloor \frac{1{,}700{,}000{,}000}{86400} \right\rfloor = 19675, \qquad s = 1{,}700{,}000{,}000 \bmod 86400 = 72800 = 22{:}13{:}20$$๋ฌ๋ ฅ ๋ณํ ์๊ณ ๋ฆฌ์ฆ์ 19675์ผ์งธ๋ฅผ 2023-11-14๋ก ๋ณํํฉ๋๋ค. ๋ฐ๋ผ์ ์ต์ข ๊ฒฐ๊ณผ๋ 2023-11-14 22:13:20 UTC๊ฐ ๋ฉ๋๋ค.
์์ฃผ ๋ฌป๋ ์ง๋ฌธ
์๊ฐ๋(ํ์์กด)๊ฐ ๋ฐ์๋๋์? ์๋์. ๊ฒฐ๊ณผ๋ ํญ์ UTC ๊ธฐ์ค์ ๋๋ค. ํ๊ตญ ์๊ฐ(KST)์ผ๋ก ๋ณด๋ ค๋ฉด UTC์ 9์๊ฐ์ ๋ํ์ธ์. ๊ทธ ์ธ ์ง์ญ์ ํด๋น ์ง์ญ์ UTC ์คํ์ ์ ๋ํ๋ฉด ๋ฉ๋๋ค.
๋ฐ๋ฆฌ์ด๋ ์ด๋ป๊ฒ ํ๋์? ์ด ๋จ์๋ง ์ ๋ ฅํ์ธ์. ๋ฐ๋ฆฌ์ด ํ์์คํฌํ๋ฅผ ๊ฐ์ง๊ณ ์๋ค๋ฉด ๋จผ์ 1000์ผ๋ก ๋๋ ๋ค ์ ๋ ฅํ๋ฉด ๋ฉ๋๋ค.
์ ์ค์ด๋ ์ฒ๋ฆฌํ์ง ์๋์? ์ ๋์ค ์๊ฐ ์์ฒด๊ฐ ์ ์์ ์ค์ด๋ฅผ ๋ฌด์ํ๋ฏ๋ก, ์ด ๋ณํ๊ธฐ๋ ๋์ผํ๊ฒ ์ค์ด๋ฅผ ๋ฐ์ํ์ง ์์ต๋๋ค.