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

๊ณ„์‚ฐ ์ž…๋ ฅ

๊ธฐ๋ณธ๊ฐ’์€ UTC+9(์ผ๋ณธ ์‹œ๊ฐ„)์ž…๋‹ˆ๋‹ค. UTC๋ณด๋‹ค ๋Šฆ์€ ์‹œ๊ฐ„๋Œ€๋Š” ์Œ์ˆ˜ ๊ฐ’์„ ์‚ฌ์šฉํ•˜์„ธ์š”.

๊ณต์‹

๊ด‘๊ณ 

๊ฒฐ๊ณผ

์œ ๋‹‰์Šค ์‹œ๊ฐ„
1,749,913,200
1970-01-01 00:00:00 UTC ์ดํ›„์˜ ์ดˆ
์ •์˜ POSIX ์‹œ๊ฐ„ (์œค์ดˆ ๋ฏธ์ ์šฉ)
์—ํฌํฌ 1970-01-01 00:00:00 UTC

์œ ๋‹‰์Šค ์‹œ๊ฐ„์ด๋ž€?

์œ ๋‹‰์Šค ์‹œ๊ฐ„(UNIX ํƒ€์ž„์Šคํƒฌํ”„ ๋˜๋Š” POSIX ์‹œ๊ฐ„์ด๋ผ๊ณ ๋„ ํ•ฉ๋‹ˆ๋‹ค)์€ ์œ ๋‹‰์Šค ์—ํฌํฌ์ธ 1970-01-01 00:00:00 UTC๋ฅผ ๊ธฐ์ค€์œผ๋กœ ํ˜๋Ÿฌ๊ฐ„ ์ดˆ์˜ ๋ˆ„์ ๊ฐ’์ž…๋‹ˆ๋‹ค. ํŠน์ • ์ˆœ๊ฐ„์„ ํ•˜๋‚˜์˜ ์ •์ˆ˜๋กœ ํ‘œํ˜„ํ•˜๋Š” ๋ณดํŽธ์ ์ด๊ณ  ์–ธ์–ด ์ค‘๋ฆฝ์ ์ธ ๋ฐฉ์‹์œผ๋กœ, ๋กœ๊ทธยท๋ฐ์ดํ„ฐ๋ฒ ์ด์ŠคยทAPIยทํ”„๋กœ๊ทธ๋ž˜๋ฐ ๋“ฑ ์ปดํ“จํŒ… ์ „๋ฐ˜์—์„œ ๋„๋ฆฌ ์“ฐ์ž…๋‹ˆ๋‹ค. ์œค์ดˆ๋Š” ๋ฐ˜์˜ํ•˜์ง€ ์•Š์œผ๋ฉฐ, ํ•˜๋ฃจ๋Š” ์–ธ์ œ๋‚˜ ์ •ํ™•ํžˆ 86,400์ดˆ๋กœ ๊ณ„์‚ฐํ•ฉ๋‹ˆ๋‹ค.

UNIX ์—ํฌํฌ ์‹œ์ž‘์ ๊ณผ ์•ž์œผ๋กœ ํ๋ฅด๋Š” ์ดˆ๋ฅผ ๋ณด์—ฌ์ฃผ๋Š” ํƒ€์ž„๋ผ์ธ
UNIX ์‹œ๊ฐ„์€ ๊ธฐ์ค€์ (์—ํฌํฌ) 1970-01-01 00:00:00 UTC ์ดํ›„ ๊ฒฝ๊ณผํ•œ ์ดˆ๋ฅผ ์…‰๋‹ˆ๋‹ค.

๊ณ„์‚ฐ๊ธฐ ์‚ฌ์šฉ๋ฒ•

๋ฒฝ์‹œ๊ณ„์— ํ‘œ์‹œ๋˜๋Š” ๊ทธ๋Œ€๋กœ์˜ ๋‚ ์งœ(์—ฐยท์›”ยท์ผ)์™€ ์‹œ๊ฐ(์‹œยท๋ถ„ยท์ดˆ)์„ ์ž…๋ ฅํ•˜์„ธ์š”. ๊ทธ๋Ÿฐ ๋‹ค์Œ "UTC์™€์˜ ์‹œ์ฐจ"์— ํ•ด๋‹น ์ง€์—ญ ์‹œ๊ฐ„์˜ ์‹œ๊ฐ„๋Œ€ ์˜คํ”„์…‹์„ ์‹œ๊ฐ„ ๋‹จ์œ„๋กœ ์„ค์ •ํ•ฉ๋‹ˆ๋‹ค. ์˜ˆ๋ฅผ ๋“ค์–ด ์ผ๋ณธ์€ +9, ์ธ๋„๋Š” +5.5, ๋ฏธ๊ตญ ํƒœํ‰์–‘ ํ‘œ์ค€์‹œ(PST)๋Š” -8์ž…๋‹ˆ๋‹ค. ์ฐธ๊ณ ๋กœ ํ•œ๊ตญ ํ‘œ์ค€์‹œ(KST)๋„ +9์ž…๋‹ˆ๋‹ค. ๊ธฐ๋ณธ ์˜คํ”„์…‹์€ +9(์ผ๋ณธ ์‹œ๊ฐ„)๋กœ ์„ค์ •๋˜์–ด ์žˆ์Šต๋‹ˆ๋‹ค. ์‹œยท๋ถ„ยท์ดˆ๋ฅผ ๋น„์›Œ ๋‘๋ฉด 0์œผ๋กœ ์ฒ˜๋ฆฌ๋ฉ๋‹ˆ๋‹ค.

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

๋จผ์ € ๋‚ ์งœ๋ฅผ days-from-civil ์•Œ๊ณ ๋ฆฌ์ฆ˜(Howard Hinnant ๊ณ ์•ˆ)์„ ์‚ฌ์šฉํ•ด ์ผ์ˆ˜๋กœ ๋ณ€ํ™˜ํ•ฉ๋‹ˆ๋‹ค. ์ด ์•Œ๊ณ ๋ฆฌ์ฆ˜์€ ์œค๋…„๊ณผ 1970๋…„ ์ด์ „ ๋‚ ์งœ๋ฅผ ํฌํ•จํ•œ ๋ชจ๋“  ๊ทธ๋ ˆ๊ณ ๋ฆฌ๋ ฅ ๋‚ ์งœ์— ๋Œ€ํ•ด ์—ํฌํฌ ๊ธฐ์ค€ ์ผ์ˆ˜๋ฅผ ์ •ํ™•ํžˆ ๊ณ„์‚ฐํ•ฉ๋‹ˆ๋‹ค. ๊ทธ ์ผ์ˆ˜์— 86,400์„ ๊ณฑํ•˜๊ณ  ์‹œยท๋ถ„ยท์ดˆ๋ฅผ ๋”ํ•˜๋ฉด ํ˜„์ง€ ์‹œ๊ฐ ๊ธฐ์ค€์œผ๋กœ 1970-01-01 00:00:00๋ถ€ํ„ฐ์˜ ์ดˆ๊ฐ€ ๋ฉ๋‹ˆ๋‹ค. ๋งˆ์ง€๋ง‰์œผ๋กœ UTC ์˜คํ”„์…‹(์‹œ๊ฐ„ ร— 3600)์„ ๋นผ์„œ ๊ฒฐ๊ณผ๋ฅผ UTC ๊ธฐ์ค€์œผ๋กœ ๋ณด์ •ํ•ฉ๋‹ˆ๋‹ค.

$$ \begin{gathered} t = 86400 \cdot D + 3600\,\text{Hour} + 60\,\text{Minute} + \text{Second} - 3600\,\text{UTC Offset} \\[1.5em] \text{where}\quad \left\{ \begin{aligned} D &= \text{days from } 1970\text{-}01\text{-}01 \text{ to the chosen date} \\ \text{date} &= \left(\text{Year},\ \text{Month},\ \text{Day}\right) \end{aligned} \right. \end{gathered} $$
๋‚ ์งœ์™€ ์‹œ๊ฐ„์„ ์ผ, ์‹œ, ๋ถ„, ์ดˆ์™€ UTC ์˜คํ”„์…‹ ๋ณด์ •์œผ๋กœ ๋ถ„ํ•ดํ•œ ๋‹ค์ด์–ด๊ทธ๋žจ
์ด ๊ณต์‹์€ ์ผ, ์‹œ, ๋ถ„, ์ดˆ๋ฅผ ๋”ํ•œ ๋’ค UTC ์˜คํ”„์…‹์„ ๋บ๋‹ˆ๋‹ค.

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

์˜คํ”„์…‹ +9์—์„œ 2025-06-15 00:00:00์„ ๋ณ€ํ™˜ํ•˜๋ฉด: daysSinceEpoch = 20254์ด๋ฏ€๋กœ \(\text{localSeconds} = 20254 \times 86400 = 1{,}749{,}945{,}600\)์ž…๋‹ˆ๋‹ค. ์—ฌ๊ธฐ์„œ \(9 \times 3600 = 32{,}400\)์„ ๋นผ๋ฉด ์œ ๋‹‰์Šค ์‹œ๊ฐ„ 1,749,913,200์ด ๋˜๋ฉฐ, ์ด๋Š” 2025-06-14 15:00:00 UTC์— ํ•ด๋‹นํ•ฉ๋‹ˆ๋‹ค.

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

์–‘์ˆ˜ ์˜คํ”„์…‹์ธ๋ฐ ์™œ ํƒ€์ž„์Šคํƒฌํ”„๊ฐ€ ์˜ˆ์ƒ๋ณด๋‹ค ์ž‘๊ฒŒ ๋‚˜์˜ค๋‚˜์š”? UTC๋ณด๋‹ค ์•ž์„  ํ˜„์ง€ ์‹œ๊ฐ์€ ๋” ์ด๋ฅธ UTC ์ˆœ๊ฐ„์— ๋Œ€์‘ํ•˜๊ธฐ ๋•Œ๋ฌธ์ž…๋‹ˆ๋‹ค. ๋”ฐ๋ผ์„œ ๊ฐ™์€ ๋ฒฝ์‹œ๊ณ„ ๊ฐ’์„ UTC๋กœ ๊ทธ๋Œ€๋กœ ์ฝ์—ˆ์„ ๋•Œ๋ณด๋‹ค ์œ ๋‹‰์Šค ๊ฐ’์ด ๋” ์ž‘์•„์ง‘๋‹ˆ๋‹ค.

1970๋…„ ์ด์ „ ๋‚ ์งœ๋„ ์ฒ˜๋ฆฌํ•  ์ˆ˜ ์žˆ๋‚˜์š”? ๋„ค, ๊ฒฐ๊ณผ๊ฐ€ ๋‹จ์ˆœํžˆ ์Œ์ˆ˜๋กœ ๋‚˜์˜ฌ ๋ฟ์ž…๋‹ˆ๋‹ค. 1969-12-31 23:59:59 UTC๋Š” \(-1\)์ž…๋‹ˆ๋‹ค.

์œค์ดˆ๊ฐ€ ํฌํ•จ๋˜๋‚˜์š”? ์•„๋‹ˆ์š”. ํ•˜๋ฃจ๋ฅผ ์ •ํ™•ํžˆ 86,400์ดˆ๋กœ ๋ณด๋Š” ํ‘œ์ค€ POSIX ์ •์˜๋ฅผ ๋”ฐ๋ฆ…๋‹ˆ๋‹ค.

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