์ ๋์ค ์ํฌํฌ ํ์์คํฌํ๋?
์ ๋์ค ํ์์คํฌํ(์ํฌํฌ ์๊ฐ ๋๋ POSIX ์๊ฐ์ด๋ผ๊ณ ๋ ํฉ๋๋ค)๋ ์ ๋์ค ์ํฌํฌ, ์ฆ ํ์ ์ธ๊ณ์(UTC) ๊ธฐ์ค 1970๋ 1์ 1์ผ ์์ ๋ถํฐ ์ง๊ธ๊น์ง ํ๋ฅธ ์ด(็ง)์ ๊ฐ์์ ๋๋ค. ์๊ฐ๋์ ์ํฅ์ ๋ฐ์ง ์์ผ๋ฉด์๋ ํน์ ์์ ์ ์ ํํ๊ฒ ๋ด์๋ผ ์ ์๋ ๊ฐ๊ฒฐํ ๋ฐฉ์์ด๋ผ, ๋ฐ์ดํฐ๋ฒ ์ด์ค์ API๋ ๋ฌผ๋ก ๋ก๊ทธ ํ์ผ, ํ๋ก๊ทธ๋๋ฐ ์ธ์ด ๋ฑ ๊ฑฐ์ ๋ชจ๋ ๊ณณ์์ ์ฌ์ฉ๋ฉ๋๋ค. ์ด ๋ณํ๊ธฐ๋ ๊ทธ ์ซ์๋ฅผ ๋ค์ ์ฌ๋์ด ์ฝ์ ์ ์๋ ๋ ์ง์ ์๊ฐ์ผ๋ก ๋๋๋ ค ์ค๋๋ค.
์ฌ์ฉ ๋ฐฉ๋ฒ
์ํฌํฌ ๊ฐ(์ด ๋จ์)์ ์ ๋ ฅ๋์ ๋ถ์ฌ๋ฃ๊ฑฐ๋ ์ง์ ์ ๋ ฅํ ๋ค ์คํํ์ธ์. ๋ณํ๊ธฐ๋ ํด๋น ์์ ์ UTC ๊ธฐ์ค์ผ๋ก ์๋ ค ์ฃผ๋๋ฐ, ์ฝ๊ธฐ ํธํ ๋ฌธ์ฅ ํํ์ ์๊ฒฉํ ISO 8601 ๋ฌธ์์ด ๋ ๊ฐ์ง๋ก ํจ๊ป ๋ณด์ฌ ์ฃผ๋ฉฐ ์ฐยท์ยท์ผยท์ยท๋ถยท์ด ๊ฐ๋ ๋ฐ๋ก ํ์ํฉ๋๋ค. ๋ชจ๋ ๊ฒฐ๊ณผ๋ UTC ๊ธฐ์ค์ด๋ฏ๋ก ์ฌ์ฉ์์ ํ์ง ์๊ฐ๋์๋ ๋ฌด๊ดํฉ๋๋ค.
๋ณํ ๊ณต์ ํ์ด
๋ณํ ์๋ฆฌ๋ ์์ธ๋ก ๊ฐ๋จํฉ๋๋ค. \(\text{๋ ์ง} = \text{1970-01-01T00:00:00Z} + \text{์ํฌํฌ ์ด}\)๊ฐ ์ ๋ถ์ ๋๋ค.
$$\text{UTC Date} = \text{Epoch}_{1970}\;+\;\text{Unix Timestamp (s)}\times 1\,\text{s}$$
์ด ๋๊ตฌ๋ ์ ๋ ฅํ ์ด์ 1000์ ๊ณฑํด ์ํฌํฌ ์ดํ์ ๋ฐ๋ฆฌ์ด๋ก ๋ฐ๊พผ ๋ค์, ๊ทธ ์์ ์ UTC ๋ฌ๋ ฅ์ผ๋ก ํํํฉ๋๋ค. ์ด๋ ์ค๋ ๊ณผ ๋ฌ๋ง๋ค ๋ค๋ฅธ ๋ ์ง ์๊น์ง ์ ํํ ๊ณ์ฐํฉ๋๋ค.
์ค์ ์์
์ํฌํฌ ๊ฐ 1700000000์ ์๋ก ๋ค์ด ๋ณด๊ฒ ์ต๋๋ค. 1970-01-01T00:00:00Z์ 1,700,000,000์ด๋ฅผ ๋ํ๋ฉด 2023-11-14T22:13:20Z๊ฐ ๋ฉ๋๋ค.
$$\text{1970-01-01T00:00:00Z} + 1{,}700{,}000{,}000\,\text{s} = \text{2023-11-14T22:13:20Z}$$
์ฆ UTC ๊ธฐ์ค 2023๋ 11์ 14์ผ ํ์์ผ 22์ 13๋ถ 20์ด์ ๋๋ค.
์์ฃผ ๋ฌป๋ ์ง๋ฌธ
์ด์ธ๊ฐ์, ๋ฐ๋ฆฌ์ด์ธ๊ฐ์? ์ด ๋ณํ๊ธฐ๋ ์ด ๋จ์ ๊ฐ์ ๋ฐ์ต๋๋ค. ์ ๋ ฅ๊ฐ์ด 13์๋ฆฌ๋ผ๋ฉด ๋ฐ๋ฆฌ์ด์ผ ๊ฐ๋ฅ์ฑ์ด ๋์ผ๋, ๋จผ์ 1000์ผ๋ก ๋๋ ๋ค ์ ๋ ฅํ์ธ์.
๊ฒฐ๊ณผ๋ ์ด๋ค ์๊ฐ๋์ธ๊ฐ์? ํญ์ UTC์ ๋๋ค. ํ๊ตญ ์๊ฐ(KST)์ผ๋ก ๋ณด๋ ค๋ฉด ํ์๋ ๊ฐ์ \(+9\) ์๊ฐ์ ๋ํ๋ฉด ๋๊ณ , ๊ทธ ์ธ ์ง์ญ์ ํด๋น ์๊ฐ๋์ ์คํ์ ์ ์ ์ฉํ์ธ์.
์์ ์ํฌํฌ๋ ์ ๋ ฅํ ์ ์๋์? ๋ค, ๊ฐ๋ฅํฉ๋๋ค. ์์ ๊ฐ์ 1970๋ 1์ 1์ผ ์ด์ ์ ๋ ์ง๋ฅผ ๋ํ๋ ๋๋ค.