MCP๋กœ ์—ฐ๊ฒฐ โ†’

๊ณ„์‚ฐ ์ž…๋ ฅ

ํŠน์ • ์‹œ์ ์„ ๋ณ€ํ™˜ํ•˜๋ ค๋ฉด ๊ธฐ๋ณธ๊ฐ’์„ ๊ทธ๋Œ€๋กœ ๋‘๊ณ , ํ˜„์žฌ ์‹œ๊ฐ์„ ๋ณ€ํ™˜ํ•˜๋ ค๋ฉด ์ง€๊ธˆ ์‹œ๊ฐ„์„ ๋ฐ€๋ฆฌ์ดˆ๋กœ ์ž…๋ ฅํ•˜์„ธ์š”.

๊ณต์‹

๊ด‘๊ณ 

๊ฒฐ๊ณผ

์œ ๋‹‰์Šค ํƒ€์ž„์Šคํƒฌํ”„ (์—ํฌํฌ)
1,700,000,000
1970๋…„ 1์›” 1์ผ UTC ์ดํ›„ ๊ฒฝ๊ณผ ์ดˆ
๋ฐ€๋ฆฌ์ดˆ 1,700,000,000,000
์—ํฌํฌ ์ดํ›„ ๊ฒฝ๊ณผ ๋ถ„ 28,333,333
์—ํฌํฌ ์ดํ›„ ๊ฒฝ๊ณผ ์‹œ๊ฐ„ 472,222
์—ํฌํฌ ์ดํ›„ ๊ฒฝ๊ณผ ์ผ์ˆ˜ 19,675

์œ ๋‹‰์Šค ํƒ€์ž„์Šคํƒฌํ”„๋ž€?

์œ ๋‹‰์Šค ํƒ€์ž„์Šคํƒฌํ”„(์—ํฌํฌ ์‹œ๊ฐ„ ๋˜๋Š” POSIX ์‹œ๊ฐ„์ด๋ผ๊ณ ๋„ ํ•ฉ๋‹ˆ๋‹ค)๋Š” 1970๋…„ 1์›” 1์ผ 00:00:00 UTC, ์ฆ‰ '์œ ๋‹‰์Šค ์—ํฌํฌ(Unix epoch)'๋ฅผ ๊ธฐ์ค€์œผ๋กœ ํ˜๋Ÿฌ๊ฐ„ ์ดˆ(็ง’)์˜ ์ˆ˜์ž…๋‹ˆ๋‹ค. ์œค์ดˆ๋Š” ๊ณ„์‚ฐ์— ํฌํ•จํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค. ์ปดํ“จํ„ฐ๊ฐ€ ํŠน์ • ์‹œ์ ์„ ์‹œ๊ฐ„๋Œ€(ํƒ€์ž„์กด)์™€ ๋ฌด๊ด€ํ•˜๊ฒŒ ํ•˜๋‚˜์˜ ์ˆซ์ž๋กœ ์ €์žฅํ•˜๋Š” ๋ณดํŽธ์ ์ธ ๋ฐฉ์‹์ด์ฃ . ์ด ๊ณ„์‚ฐ๊ธฐ๋Š” ๋ฐ€๋ฆฌ์ดˆ ๋‹จ์œ„ ๊ฐ’์„ ํ‘œ์ค€ ์œ ๋‹‰์Šค ํƒ€์ž„์Šคํƒฌํ”„(์ดˆ ๋‹จ์œ„)๋กœ ๋ณ€ํ™˜ํ•ด ์ฃผ๋ฉฐ, ์—ํฌํฌ ์ดํ›„ ๊ฒฝ๊ณผํ•œ ๋ถ„ยท์‹œ๊ฐ„ยท์ผ์ˆ˜๋„ ํ•จ๊ป˜ ๋ณด์—ฌ์ค๋‹ˆ๋‹ค.

1970๋…„ 1์›” 1์ผ์— 0์—์„œ ์‹œ์ž‘ํ•ด ํ˜„์žฌ ์‹œ์ ์œผ๋กœ ์ฆ๊ฐ€ํ•˜๋Š” ์นด์šดํ„ฐ๊ฐ€ ์žˆ๋Š” ํƒ€์ž„๋ผ์ธ
์œ ๋‹‰์Šค ํƒ€์ž„์Šคํƒฌํ”„๋Š” ์—ํฌํฌ์ธ 1970๋…„ 1์›” 1์ผ UTC ์ดํ›„ ๊ฒฝ๊ณผํ•œ ์ดˆ๋ฅผ ์…‰๋‹ˆ๋‹ค.

์‚ฌ์šฉ ๋ฐฉ๋ฒ•

์‹œ๊ฐ„ ๊ฐ’์„ ๋ฐ€๋ฆฌ์ดˆ ๋‹จ์œ„๋กœ ์ž…๋ ฅํ•˜์„ธ์š”. ํ˜„์žฌ ์œ ๋‹‰์Šค ํƒ€์ž„์Šคํƒฌํ”„('epoch now')๋ฅผ ๊ตฌํ•˜๋ ค๋ฉด ํ˜„์žฌ ์‹œ๊ฐ์„ ๋ฐ€๋ฆฌ์ดˆ๋กœ ๋„ฃ์œผ๋ฉด ๋ฉ๋‹ˆ๋‹ค. ๊ธฐ๋ณธ๊ฐ’์€ ์˜ˆ์‹œ๋กœ ์ฑ„์›Œ์ ธ ์žˆ์Šต๋‹ˆ๋‹ค. ๊ณ„์‚ฐ๊ธฐ๋Š” ์ž…๋ ฅ๊ฐ’์„ 1,000์œผ๋กœ ๋‚˜๋ˆˆ ๋’ค ์†Œ์ˆ˜์  ์ดํ•˜๋ฅผ ๋ฒ„๋ ค(๋‚ด๋ฆผ) ์ •์ˆ˜ ์ดˆ๋ฅผ ๋งŒ๋“ค์–ด ์ค๋‹ˆ๋‹ค. ์ด ํ˜•์‹์€ ๊ฑฐ์˜ ๋ชจ๋“  API, ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค, ํ”„๋กœ๊ทธ๋ž˜๋ฐ ์–ธ์–ด๊ฐ€ ์š”๊ตฌํ•˜๋Š” ํ‘œ์ค€ ํ˜•์‹์ž…๋‹ˆ๋‹ค.

๊ณต์‹ ์„ค๋ช…

ํ•ต์‹ฌ ๋ณ€ํ™˜์‹์€ ๋‹ค์Œ๊ณผ ๊ฐ™์Šต๋‹ˆ๋‹ค.

$$\text{Epoch} = \left\lfloor \dfrac{\text{Time (ms)}}{1000} \right\rfloor$$

๋ฐ€๋ฆฌ์ดˆ๋Š” 1,000๋ถ„์˜ 1์ดˆ๊นŒ์ง€ ํ‘œํ˜„ํ•˜์ง€๋งŒ ์ „ํ†ต์ ์ธ ์œ ๋‹‰์Šค ํƒ€์ž„์Šคํƒฌํ”„๋Š” ์ •์ˆ˜ ์ดˆ ๋‹จ์œ„์ด๋ฏ€๋กœ, ์†Œ์ˆ˜ ๋ถ€๋ถ„์„ ๋ฒ„๋ฆฌ๋Š” ๋‚ด๋ฆผ(floor) ์—ฐ์‚ฐ์„ ์ ์šฉํ•ฉ๋‹ˆ๋‹ค. ์—ฌ๊ธฐ์„œ ์—ํฌํฌ ๊ฐ’์„ ๊ฐ๊ฐ 60, 3,600, 86,400์œผ๋กœ ๋‚˜๋ˆ„๋ฉด ๋ถ„, ์‹œ๊ฐ„, ์ผ์ˆ˜๊ฐ€ ๋ฉ๋‹ˆ๋‹ค.

$$\begin{gathered} \text{Epoch} = \left\lfloor \dfrac{\text{Time (ms)}}{1000} \right\rfloor \\[1.5em] \text{where}\quad \left\{ \begin{aligned} \text{Minutes} &= \left\lfloor \tfrac{\text{Epoch}}{60} \right\rfloor \\ \text{Hours} &= \left\lfloor \tfrac{\text{Epoch}}{3600} \right\rfloor \\ \text{Days} &= \left\lfloor \tfrac{\text{Epoch}}{86400} \right\rfloor \end{aligned} \right. \end{gathered}$$
๋ฐ€๋ฆฌ์ดˆ ๊ฐ’์„ 1000์œผ๋กœ ๋‚˜๋ˆ„๊ณ  ๋‚ด๋ฆผํ•˜์—ฌ ์—ํฌํฌ ์ดˆ๋ฅผ ์ƒ์„ฑ
๋ฐ€๋ฆฌ์ดˆ๋ฅผ 1000์œผ๋กœ ๋‚˜๋ˆ„๊ณ  ๋‚ด๋ฆผํ•˜๋ฉด ์ •์ˆ˜ ์—ํฌํฌ ์ดˆ๊ฐ€ ๋‚˜์˜ต๋‹ˆ๋‹ค.

๊ณ„์‚ฐ ์˜ˆ์‹œ

ํ˜„์žฌ ์‹œ๊ฐ์ด 1,700,000,000,000๋ฐ€๋ฆฌ์ดˆ๋ผ๊ณ  ๊ฐ€์ •ํ•ด ๋ด…์‹œ๋‹ค. ์ด ๊ฐ’์„ 1,000์œผ๋กœ ๋‚˜๋ˆ„๋ฉด 1,700,000,000์ดˆ๊ฐ€ ๋˜๋ฉฐ, ์ด๊ฒƒ์ด ๋ฐ”๋กœ ์œ ๋‹‰์Šค ํƒ€์ž„์Šคํƒฌํ”„์ž…๋‹ˆ๋‹ค.

$$\left\lfloor \frac{1{,}700{,}000{,}000{,}000}{1000} \right\rfloor = 1{,}700{,}000{,}000 \text{ s}$$

๋‹ค์‹œ 1,700,000,000์„ 86,400์œผ๋กœ ๋‚˜๋ˆˆ ๋’ค ๋‚ด๋ฆผํ•˜๋ฉด 1970๋…„ 1์›” 1์ผ ์ดํ›„ 19,675์ผ์ด ์ง€๋‚œ ๊ฒƒ์ด ๋˜๋Š”๋ฐ, ์ด๋Š” 2023๋…„ 11์›” ์ค‘์ˆœ์— ํ•ด๋‹นํ•ฉ๋‹ˆ๋‹ค.

$$\left\lfloor \frac{1{,}700{,}000{,}000}{86{,}400} \right\rfloor = 19{,}675 \text{ days}$$

์ž์ฃผ ๋ฌป๋Š” ์งˆ๋ฌธ

์™œ ๋ฐ€๋ฆฌ์ดˆ๊ฐ€ ์•„๋‹ˆ๋ผ ์ดˆ๋ฅผ ์“ฐ๋‚˜์š”? ์›๋ž˜ ์œ ๋‹‰์Šค ํ‘œ์ค€์ด ์ดˆ ๋‹จ์œ„๋ฅผ ์‚ฌ์šฉํ•˜๊ธฐ ๋•Œ๋ฌธ์ž…๋‹ˆ๋‹ค. JavaScript์˜ Date.now()๋Š” ๋ฐ€๋ฆฌ์ดˆ๋ฅผ ๋ฐ˜ํ™˜ํ•˜๋ฏ€๋กœ, ๋ณดํ†ต 1,000์œผ๋กœ ๋‚˜๋ˆ ์„œ ์ดˆ๋กœ ๋ฐ”๊ฟ‰๋‹ˆ๋‹ค.

์‹œ๊ฐ„๋Œ€(ํƒ€์ž„์กด)๋Š” ์–ด๋–ป๊ฒŒ ์ฒ˜๋ฆฌ๋˜๋‚˜์š”? ์ฒ˜๋ฆฌํ•  ํ•„์š”๊ฐ€ ์—†์Šต๋‹ˆ๋‹ค. ์œ ๋‹‰์Šค ์‹œ๊ฐ„์€ ํ•ญ์ƒ UTC ๊ธฐ์ค€์ž…๋‹ˆ๋‹ค. ๊ฐ™์€ ์ˆœ๊ฐ„์ด๋ผ๋ฉด ์ง€๊ตฌ์ƒ ์–ด๋””์„œ๋“  ๋™์ผํ•œ ํƒ€์ž„์Šคํƒฌํ”„๋ฅผ ๊ฐ–์Šต๋‹ˆ๋‹ค.

'2038๋…„ ๋ฌธ์ œ'๋ž€ ๋ฌด์—‡์ธ๊ฐ€์š”? ํƒ€์ž„์Šคํƒฌํ”„๋ฅผ ๋ถ€ํ˜ธ ์žˆ๋Š” 32๋น„ํŠธ ์ •์ˆ˜๋กœ ์ €์žฅํ•˜๋Š” ์‹œ์Šคํ…œ์€ 2038๋…„ 1์›” 19์ผ์— ์˜ค๋ฒ„ํ”Œ๋กœ๊ฐ€ ๋ฐœ์ƒํ•ฉ๋‹ˆ๋‹ค. ์ตœ์‹  64๋น„ํŠธ ์‹œ์Šคํ…œ์—์„œ๋Š” ์ด ๋ฌธ์ œ๊ฐ€ ๋ฐœ์ƒํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค.

์ตœ์ข… ์—…๋ฐ์ดํŠธ: