Unix ํ์์คํฌํ๋ ๋ฌด์์ธ๊ฐ? ์๋ฒฝ ๊ฐ์ด๋
Unix ํ์์คํฌํ๋ ๋ฌด์์ธ๊ฐ?
Unix ํ์์คํฌํ(POSIX ์๊ฐ ๋๋ Epoch ์๊ฐ์ด๋ผ๊ณ ๋ ํจ)๋ Unix ์ํฌํฌ โ 1970๋ 1์ 1์ผ 00:00:00 UTC โ ์ดํ ๊ฒฝ๊ณผ๋ ์ด ์๋ฅผ ์ธ๋ ์๊ฐ ์ถ์ ์์คํ ์ผ๋ก, ์ค์ด๋ ์ ์ธ๋ฉ๋๋ค.
์๊ฐ๋์ ๋ฐ๋ผ ๋ฌ๋ผ์ง๋ ์ฌ๋์ด ์ฝ์ ์ ์๋ ๋ ์ง("2026๋
7์ 19์ผ ์คํ 3์ 30๋ถ EST")์ ๋ฌ๋ฆฌ, Unix ํ์์คํฌํ๋ ์ง๊ตฌ์ ์ด๋์์๋ ๋์ผํ ์๊ฐ์ ๋ํ๋ด๋ ๋จ์ผ ์ ์์
๋๋ค. ์๋ฅผ ๋ค์ด, ํ์์คํฌํ 1785292800์ ๋ด์, ๋ฐ๋, ๋์ฟ์ ๊ด๊ณ์์ด ํน์ ์๊ฐ์ ํด๋นํฉ๋๋ค.
Unix ํ์์คํฌํ๋ ํ๋ ์ปดํจํ ์์ ์๊ฐ ์ฒ๋ฆฌ์ ๊ทผ๊ฐ์ ๋๋ค. ์ด์ ์ฒด์ , ํ๋ก๊ทธ๋๋ฐ ์ธ์ด, ๋ฐ์ดํฐ๋ฒ ์ด์ค, ํ์ผ ์์คํ ๋ชจ๋ ๋ด๋ถ์ ์ผ๋ก ์ด ๋จ์ํ ์ ์ ํํ์ ์์กดํฉ๋๋ค.
Unix ์ํฌํฌ: ์ 1970๋ 1์ 1์ผ์ธ๊ฐ?
1970๋ 1์ 1์ผ์ด "์ํฌํฌ"(์์์ )๋ก ์ ํ๋ ๊ฒ์ ์์์ ์ด์ง ์์์ต๋๋ค. ๋ช ๊ฐ์ง ์ค์ฉ์ ์ธ ๊ณ ๋ ค ์ฌํญ์ด ์ด ๊ฒฐ์ ์ผ๋ก ์ด์ด์ก์ต๋๋ค:
- ์ด๊ธฐ Unix ๊ฐ๋ฐ: Unix ์ด์ ์ฒด์ ๋ 1960๋ ๋ ํ๋ฐ๊ณผ 1970๋ ๋ ์ด๋ฐ์ Bell Labs์์ ๊ฐ๋ฐ๋์์ต๋๋ค. 1970๋ ๋ ์ด๋ฐ์ ์๊ฐ ์์คํ ์ด ํ์คํ๋ ๋ฌด๋ ต, 1970๋ 1์ 1์ผ์ ๊น๋ํ๊ณ ์ต๊ทผ์ ๊ธฐ์ค์ ์ด์์ต๋๋ค.
- ๋จ์์ฑ: ์ด๊ธฐ Unix ์์คํ ์ ์๊ฐ์ ์ด๋ฅผ ์ธ๋ 32๋นํธ ๋ถํธ ์๋ ์ ์๋ก ์ ์ฅ๋์์ต๋๋ค. ์ต๊ทผ ๋ ์ง๋ฅผ ์ฌ์ฉํ๋ฉด ๋ฏธ๋๋ก ํํ ๊ฐ๋ฅํ ๋ฒ์๊ฐ ์ต๋ํ๋์์ต๋๋ค.
- ์ ๋ก: ์ด ์ํฌํฌ๋ ์ฒซ ๋ฒ์งธ POSIX ํ์ค์์ ๊ณต์ํ๋์ด, ๋ชจ๋ Unix ํ์ ์์คํ ์ ๋ณดํธ์ ๊ธฐ์ค์ด ๋์์ต๋๋ค.
์ด์ Unix ์ ์ฌ ์์คํ ๋ค์ ๋ค๋ฅธ ์ํฌํฌ ๋ ์ง๋ฅผ ์ฌ์ฉํ์ง๋ง, 1970๋ ์ํฌํฌ๊ฐ ์น๋ฆฌํ์ผ๋ฉฐ ๊ทธ ์ดํ๋ก ๋ชจ๋ POSIX ํธํ ์์คํ ์ ํ์ค์ด ๋์์ต๋๋ค.
ํ์์คํฌํ ๊ฐ์ ์๋ ๋ฐฉ์
ํต์ฌ ์์ด๋์ด๋ ๊ฐ๋จํฉ๋๋ค:
- ํ์์คํฌํ
0์ ์ ํํ 1970๋ 1์ 1์ผ 00:00:00 UTC๋ฅผ ์๋ฏธํฉ๋๋ค - ํ์์คํฌํ
86400(60 ร 60 ร 24)์ 1970๋ 1์ 2์ผ 00:00:00 UTC๋ฅผ ์๋ฏธํฉ๋๋ค - ํ์์คํฌํ
-3600์ 1969๋ 12์ 31์ผ 23:00:00 UTC๋ฅผ ์๋ฏธํฉ๋๋ค(์์ ํ์์คํฌํ๋ ์ํฌํฌ ์ด์ ๋ ์ง๋ฅผ ๋ํ๋)
๊ณต์์ ๊ฐ๋จํฉ๋๋ค:
timestamp = seconds since 1970-01-01 00:00:00 UTC
๋ฐ๋ฆฌ์ด ํ์์คํฌํ
๋ง์ ํ๋ ์์คํ , ํนํ JavaScript์ ์น API๋ ์ด ๋์ ๋ฐ๋ฆฌ์ด๋ฅผ ์ฌ์ฉํฉ๋๋ค. ๋ฐ๋ฆฌ์ด ํ์์คํฌํ๋ ๋จ์ํ ์ด ๊ธฐ๋ฐ ๊ฐ์ 1000์ ๊ณฑํ ๊ฒ์ ๋๋ค:
- JavaScript
Date.now()๋ ๋ฐ๋ฆฌ์ด๋ฅผ ๋ฐํํฉ๋๋ค - Python
time.time()์ ์์์ ์ดํ ๋ฐ๋ฆฌ์ด๋ฅผ ํฌํจํ ์์ ์ด๋ฅผ ๋ฐํํฉ๋๋ค
๋ณํํ๊ธฐ ์ ์ ์์คํ ์ด ์ด๋ค ํด์๋๋ฅผ ์ฌ์ฉํ๋์ง ํญ์ ํ์ธํ์ธ์. ํผ์ฉํ๋ฉด ์์ญ ๋ ์ฐจ์ด๋๋ ๋ ์ง๊ฐ ์์ฑ๋ ์ ์์ต๋๋ค.
2038๋ ๋ฌธ์
2038๋ ๋ฌธ์ ("Unix ๋ฐ๋ ๋์ ๋ฒ๊ทธ" ๋๋ "Y2K38"์ด๋ผ๊ณ ๋ ํจ)๋ ํ์์คํฌํ๋ฅผ 32๋นํธ ๋ถํธ ์๋ ์ ์๋ก ์ ์ฅํ๋ ์์คํ ์ ์ํฅ์ ๋ฏธ์น ์๊ฐ ํํ ๋ฌธ์ ์ ๋๋ค.
32๋นํธ ๋ถํธ ์๋ ์ ์๋ ์ฝ -21์ต์์ +21์ต๊น์ง์ ๊ฐ์ ์ ์ฅํ ์ ์์ต๋๋ค. ํํ ๊ฐ๋ฅํ ์ต๋ Unix ํ์์คํฌํ๋ 2147483647์ด๋ฉฐ, ์ด๋ ๋ค์์ ํด๋นํฉ๋๋ค:
- 2038๋ 1์ 19์ผ 03:14:07 UTC
1์ด ํ, ๊ฐ์ด -2147483648๋ก ์ค๋ฒํ๋ก๋์ด 1901๋
12์ 13์ผ๋ก ํด์๋๋ฉฐ, ์์คํ
์ด ํ์ฌ ์๊ฐ์ 20์ธ๊ธฐ ์ด์ ๋ ์ง๋ก ํด์ํ๊ฒ ๋ฉ๋๋ค.
์ํฅ์ ๋ฐ๋ ์์คํ
- 32๋นํธ ํ๋ก์ธ์๋ฅผ ์ฌ์ฉํ๋ ์๋ฒ ๋๋ ์ฅ์น ๋ฐ IoT ํ๋์จ์ด
- ์ค๋๋ ์๋ฒ ๋๋ Linux ์ปค๋
- 32๋นํธ ์ ์ ์๊ฐ ์ด์ ์ฌ์ฉํ๋ ๋ ๊ฑฐ์ ๋ฐ์ดํฐ๋ฒ ์ด์ค
- ์๊ฐ์ 32๋นํธ ์ ์๋ก ์ ์ฅํ๋ ํ์ผ ์์คํ ๋ฐ ๋ฐ์ด๋๋ฆฌ ํ์
ํด๊ฒฐ์ฑ
ํ๋ ์์คํ ์ ๋๋ถ๋ถ ์๊ฐ ์ ์ฅ์ 64๋นํธ ์ ์๋ก ์ ํํ์ต๋๋ค. 64๋นํธ ๋ถํธ ์๋ ์ ์๋ ์ฝ 2,920์ต ๋ ์ดํ๊น์ง์ ์๊ฐ์ ํํํ ์ ์์ผ๋ฉฐ, ์ค์ฉ์ ์ธ ๋ชฉ์ ์ผ๋ก๋ ์ฌ์ค์ ๋ฌดํํฉ๋๋ค.
- 64๋นํธ ํ๋์จ์ด์ ๋๋ถ๋ถ์ ํ๋ Linux ๋ฐฐํฌํ์ ์ด๋ฏธ ์์ ํฉ๋๋ค
- Linux ์ปค๋์ ์๋ ๊ฐ 64๋นํธ ์์คํ ์์ 64๋นํธ time_t๋ฅผ ์ฌ์ฉํด ์์ต๋๋ค
- ์ปค๋ 5.6+์์๋ 32๋นํธ ์ํคํ ์ฒ์ ๋ํ 64๋นํธ time_t ์ง์์ด ๋์ ๋์์ต๋๋ค
- Python, Go, Java์ ๊ฐ์ ํ๋ก๊ทธ๋๋ฐ ์ธ์ด๋ ๋ด๋ถ์ ์ผ๋ก 64๋นํธ ์ ์๋ฅผ ์ฌ์ฉํฉ๋๋ค
์๋ฒ ๋๋ ์์คํ
์ด๋ ๋ ๊ฑฐ์ ์ํํธ์จ์ด๋ฅผ ์ ์ง ๊ด๋ฆฌํ๊ณ ์๋ค๋ฉด, ์ค๋ time_t ํฌ๊ธฐ๋ฅผ ํ์ธํด๋ณด๋ ๊ฒ์ด ๊ฐ์น ์๋ ์์
์
๋๋ค.
UTC์ Unix ํ์์คํฌํ์ ๊ด๊ณ
Unix ํ์์คํฌํ๋ ๋ณธ์ง์ ์ผ๋ก ์๊ฐ๋ ๋ ๋ฆฝ์ ์ ๋๋ค โ ํญ์ UTC๋ฅผ ๊ธฐ์ค์ผ๋ก ํฉ๋๋ค.
UTC๋ ๋ฌด์์ธ๊ฐ?
ํ์ ์ธ๊ณ์(UTC)๋ ์ธ๊ณ๊ฐ ์๊ณ์ ์๊ฐ์ ๊ท์ ํ๋ ์ฃผ์ ์๊ฐ ํ์ค์ ๋๋ค. ๊ทธ๋ฆฌ๋์น ํ๊ท ์(GMT)๋ฅผ ๊ตญ์ ํ์ค์ผ๋ก ๋์ฒดํ์ผ๋ฉฐ, ์์ ์๊ณ์ ์ํด ์ ์ง๋ฉ๋๋ค.
Unix ํ์์คํฌํ์ UTC๊ฐ ์ค์ํ ์ด์
- Unix ํ์์คํฌํ๋ UTC๋ก ์ ์๋๋ฏ๋ก, ํ์์คํฌํ๋ ์ ์ธ๊ณ์ ์ผ๋ก ๋์ผํ ์๊ฐ์ ๋ํ๋ ๋๋ค
- Unix ํ์์คํฌํ๋ฅผ ๋ก์ปฌ ์๊ฐ์ผ๋ก ๋ณํํ๋ ๊ฒ์ ์์ ํ ํ์ ๊ณ์ธต์ ๋ฌธ์ ์ ๋๋ค
- ํ์์คํฌํ ์์ฒด์๋ ์๊ฐ๋ ์ ๋ณด๊ฐ ์ ์ฅ๋์ง ์์, ์์คํ ์ ๋จ์ํ๊ณ ์ด์์ฑ ์๊ฒ ์ ์งํฉ๋๋ค
์ด ์ค๊ณ ๋๋ถ์ ์ ์ธ๊ณ ๋๊ตฌ์๋ Unix ํ์์คํฌํ๋ฅผ ๊ณต์ ํ ์ ์์ผ๋ฉฐ, ์์ธก ๋ชจ๋ ๋ชจํธํจ ์์ด ์์ ์ ๋ก์ปฌ ์๊ฐ์ผ๋ก ๋ณํํ ์ ์์ต๋๋ค.
์ค์ด: ๋๋ฌธ ์์ธ
Unix ํ์์คํฌํ๋ ์ด๋ก ์ ์ผ๋ก ์ํฌํฌ ์ดํ์ ์ด ์๋ฅผ ์ธ์ง๋ง, ์ค์ด๋ฅผ ๋ฌด์ํฉ๋๋ค. ์ค์ด๊ฐ ์ถ๊ฐ๋ ๋ ๋ Unix ์๊ฐ์์๋ ์ฌ์ ํ ์ ํํ 86400์ด์ ๋๋ค. ์ด๋ ์ค์ด ๋์ Unix ํ์์คํฌํ๊ฐ ์ฆ๊ฐํ์ง ์๊ณ , ์ค์ด๊ฐ ์ฌ์ค์ ์นด์ดํธ์์ ์ฌ๋ผ์ง์ ์๋ฏธํฉ๋๋ค.
์ด ๋จ์ํ๋ ์์คํ ์ ์ค์ฉ์ ์ผ๋ก ์ ์งํ์ง๋ง, Unix ํ์์คํฌํ๊ฐ ์์ ์๊ฐ๊ณผ ์ฝ๊ฐ์ ์ฐจ์ด๋ฅผ ๊ฐ๊ฒ ๋ฉ๋๋ค. ๊ทธ ์ฐจ์ด๋ ์ผ์์ ์ธ ์ ํ๋ฆฌ์ผ์ด์ ์์ ๊ฑฐ์ ๋ฌธ์ ๊ฐ ๋์ง ์์ ์ ๋๋ก ์์ต๋๋ค.
์ผ๋ฐ์ ์ธ ํ์์คํฌํ ๋ฒ์
| ํ์์คํฌํ | ์ฌ๋์ด ์ฝ์ ์ ์๋ ๋ ์ง | ์๋ฏธ | |-----------|---------------------|--------------| | 0 | 1970-01-01 00:00:00 UTC | Unix ์ํฌํฌ | | 86400 | 1970-01-02 00:00:00 UTC | ์ํฌํฌ ํ๋ฃจ ํ | | 946684800 | 2000-01-01 00:00:00 UTC | 2000๋ | | 1234567890 | 2009-02-13 23:31:30 UTC | ๊ธฐ์ตํ๊ธฐ ์ฌ์ด ํจํด | | 1785292800 | 2026-07-19 00:00:00 UTC | ์ค๋์ ์ํฌํฌ | | 2147483647 | 2038-01-19 03:14:07 UTC | 32๋นํธ ์ต๋๊ฐ |
์์ฝ
Unix ํ์์คํฌํ๋ ์๊ฐ์ ๋จ์ผ ์ ์๋ก ํํํ๋ ์ฐ์ํ๊ณ ์ด์์ฑ ์๋ ๋ฐฉ๋ฒ์ ๋๋ค. 1970๋ 1์ 1์ผ UTC๋ถํฐ ์ด๋ฅผ ์ธ๋ ์ค๊ณ ๋๋ถ์ ์ด์ ์ฒด์ , ๋ฐ์ดํฐ๋ฒ ์ด์ค, ํ๋ก๊ทธ๋๋ฐ ์ธ์ด ์ ๋ฐ์์ ๋ณดํธ์ ์ธ ์๊ฐ ํ์ค์ด ๋์์ต๋๋ค. 2038๋ ๋ฌธ์ ๊ฐ ๋ ๊ฑฐ์ ์์คํ ์ ๋ค๊ฐ์ค๊ณ ์์ง๋ง, 64๋นํธ ์๊ฐ์ผ๋ก์ ์ง์์ ์ธ ์ ํ์ Unix ํ์์คํฌํ๊ฐ ์์ผ๋ก๋ ์ฌ๋ฌ ์ธ๋์ ๊ฑธ์ณ ์ปดํจํ ์๊ฐ ์ธก์ ์ ๊ธฐ๋ฐ์ผ๋ก ๋จ์ ๊ฒ์ ๋ณด์ฅํฉ๋๋ค.
Unix ํ์์คํฌํ๋ฅผ ์ฌ์ฉํ ์ค๋น๊ฐ ๋์ จ๋์? ์ ํฌ Unix Timestamp Converter๋ฅผ ์ฌ์ฉํ์ฌ ํ์์คํฌํ์ ์ฌ๋์ด ์ฝ์ ์ ์๋ ๋ ์ง ๊ฐ ์ฆ์ ๋ณํํ์ธ์.