์ ๋์ค ํ์์คํฌํ๋?
์ ๋์ค ํ์์คํฌํ(์ํฌํฌ ํ์ ๋๋ POSIX ํ์์ด๋ผ๊ณ ๋ ํฉ๋๋ค)๋ 1970๋ 1์ 1์ผ 00:00:00 UTC๋ฅผ ๊ธฐ์ค์ผ๋ก ๊ฒฝ๊ณผํ ์ด์ ์๋ฅผ ์๋ฏธํ๋ฉฐ, ์ค์ด๋ ๊ณ์ฐ์ ํฌํจํ์ง ์์ต๋๋ค. ์๊ฐ๋์ ์ํฅ์ ๋ฐ์ง ์๋ ๋ณดํธ์ ์ธ ์๊ฐ ํํ ๋ฐฉ์์ด๋ผ ๋ฐ์ดํฐ๋ฒ ์ด์ค, API, ๋ก๊ทธ ํ์ผ, ๊ฐ์ข ํ๋ก๊ทธ๋๋ฐ ์ธ์ด์์ ๋๋ฆฌ ์ฐ์ ๋๋ค. ์ด ๋ณํ๊ธฐ๋ ์ ๋ ฅ๊ฐ์ UTC๋ก ๊ฐ์ฃผํ์ฌ ํด๋น ์์ ์ ์ํฌํฌ ๊ฐ์ ์ด ๋จ์์ ๋ฐ๋ฆฌ์ด ๋จ์๋ก ํจ๊ป ๋ณด์ฌ์ค๋๋ค.
๋ณํ๊ธฐ ์ฌ์ฉ๋ฒ
๋ณํํ๋ ค๋ ์์ ์ ์ฐ๋, ์, ์ผ, ์, ๋ถ, ์ด๋ฅผ ์
๋ ฅํ์ธ์. ๋ชจ๋ ๊ฐ์ UTC(ํ์ ์ธ๊ณ์) ๊ธฐ์ค์ผ๋ก ํด์๋ฉ๋๋ค. ๊ณ์ฐ ๋ฒํผ์ ๋๋ฅด๋ฉด ํด๋นํ๋ ์ ๋์ค ํ์์คํฌํ๊ฐ ์ด ๋จ์๋ก ํ์๋๋ฉฐ, ์๋ฐ์คํฌ๋ฆฝํธ Date ๊ฐ์ฒด๋ ์ฌ๋ฌ ์น API์์ ํํ ์๊ตฌํ๋ ๋ฐ๋ฆฌ์ด ๊ฐ๋ ํจ๊ป ๋์ต๋๋ค.
๊ณ์ฐ ๊ณต์ ์์๋ณด๊ธฐ
๊ณ์ฐ ๊ณผ์ ์ ๋จผ์ 1970๋ 1์ 1์ผ๋ถํฐ ์ ๋ ฅํ ๋ ์ง๊น์ง์ ์ ์ฒด ์ผ์๋ฅผ ์ผ ๋ค์, ์ฌ๊ธฐ์ ํ๋ฃจ์ ์ด ์์ธ 86,400์ ๊ณฑํ๊ณ , ๋ง์ง๋ง์ผ๋ก ๊ทธ๋ ์ ์ยท๋ถยท์ด๋ฅผ ์ด ๋จ์๋ก ํ์ฐํด ๋ํ๋ ๋ฐฉ์์ ๋๋ค.
$$t = \left\lfloor \frac{\text{UTC}\left(\text{Year},\ \text{Month},\ \text{Day},\ \text{Hour},\ \text{Minute},\ \text{Second}\right) - \text{UTC}(1970)}{1000} \right\rfloor$$
์ํฌํฌ = 1970๋ ์ดํ ์ผ์ \times 86400 + ์ \times 3600 + ๋ถ \times 60 + ์ด
์ผ์ ๊ณ์ฐ์๋ ์ค๋ ์ด ์๋์ผ๋ก ๋ฐ์๋๋ฏ๋ก 2000๋ , 2020๋ , 2024๋ ์ฒ๋ผ 2์ 29์ผ์ด ์๋ ํด๋ ์ ํํ๊ฒ ์ฒ๋ฆฌ๋ฉ๋๋ค.
์ค์ ๊ณ์ฐ ์์
2024๋ 1์ 1์ผ 00:00:00 UTC๋ฅผ ์๋ก ๋ค์ด๋ณด๊ฒ ์ต๋๋ค. 1970๋ 1์ 1์ผ๋ถํฐ 2024๋ 1์ 1์ผ๊น์ง๋ ์ด 19,723์ผ์ ๋๋ค. ์ด๋ฅผ ๊ณฑํ๋ฉด \(19{,}723 \times 86{,}400 = 1{,}704{,}067{,}200\)์ด๊ฐ ๋ฉ๋๋ค. ์ถ๊ฐ๋๋ ์ยท๋ถยท์ด๊ฐ ์์ผ๋ฏ๋ก ์ ๋์ค ํ์์คํฌํ๋ 1,704,067,200์ด๊ณ , ๋ฐ๋ฆฌ์ด ๊ฐ์ 1,704,067,200,000์ ๋๋ค.
์์ฃผ ๋ฌป๋ ์ง๋ฌธ
์ ๋ ฅ๊ฐ์ด ์ ํ์ง ์๊ฐ์ธ๊ฐ์? ์๋๋๋ค. ๊ฒฐ๊ณผ์ ํผ๋์ ๋ง๊ธฐ ์ํด ๋ชจ๋ ์ ๋ ฅ๊ฐ์ UTC๋ก ์ฒ๋ฆฌ๋ฉ๋๋ค. ํ์ํ๋ค๋ฉด ํ์ง ์๊ฐ์ ๋จผ์ UTC๋ก ๋ณํํ ๋ค ์ ๋ ฅํ์ธ์. (์: ํ๊ตญ ์๊ฐ(KST)์ UTC๋ณด๋ค 9์๊ฐ ๋น ๋ฅด๋ฏ๋ก ์ ๋ ฅ ์ 9์๊ฐ์ ๋นผ๋ฉด ๋ฉ๋๋ค.)
ํ์์คํฌํ๊ฐ ์์๊ฐ ๋ ์๋ ์๋์? ์ด ๋๊ตฌ๋ 1970๋ ์ดํ ์ฐ๋๋ง ๋ฐ๊ธฐ ๋๋ฌธ์ ๊ฒฐ๊ณผ๋ ํญ์ 0 ์ด์์ ๋๋ค. 1970๋ ์ด์ ๋ ์ง๋ผ๋ฉด ์์ ์ํฌํฌ ๊ฐ์ด ๋์ต๋๋ค.
์ด์ ๋ฐ๋ฆฌ์ด๊ฐ ๋ ๋ค ํ์๋๋ ์ด์ ๋? ๋๋ถ๋ถ์ ์ ๋์ค ์์คํ ์ ์ด ๋จ์๋ฅผ ์ฌ์ฉํ์ง๋ง, ์๋ฐ์คํฌ๋ฆฝํธ์ ์ฌ๋ฌ ์น API๋ ๋ฐ๋ฆฌ์ด ๋จ์๋ฅผ ์ฌ์ฉํฉ๋๋ค. ํธ์๋ฅผ ์ํด ๋ ๊ฐ์ ๋ชจ๋ ๋ณด์ฌ๋๋ฆฝ๋๋ค.