DateTime.Now vs DateTime.UtcNow.ToLocalTime

์•ˆ๋…•ํ•˜์„ธ์š”, ์ €๋Š” ๋น„์ „ ๊ฒ€์‚ฌ์ชฝ์„ ํ•˜๊ณ ์žˆ์Šต๋‹ˆ๋‹ค.
๊ฒ€์‚ฌ๊ธฐ๋ฅผ ๋‹ด๋‹นํ•˜๋‹ค ๋ณด๋‹ˆ๊นŒ ๊ฒ€์‚ฌ๋ฅผ ์‹œ์ž‘ํ•œ ์‹œ๊ฐ„, ์ด๋ฏธ์ง€๋ฅผ ์ƒ์„ฑํ•œ ์‹œ๊ฐ„ ๋“ฑ๋“ฑ ๊ธฐํƒ€ ๋“ฑ๋“ฑ์—์„œ DateTime.Now๋ฅผ ์ž์ฃผ ์‚ฌ์šฉํ•˜๊ณ  ์žˆ๋Š”๋ฐ์š”, ์ตœ๊ทผ DateTime.Now์™€ UtcNow๊ฐ€ ์†๋„ ์ฐจ์ด๊ฐ€ ๋‚œ๋‹ค๊ณ  ์•Œ๊ฒŒ ๋˜์–ด ์ด๊ฒƒ์ €๊ฒƒ ํ…Œ์ŠคํŠธ ์ค‘์— ์žˆ์Šต๋‹ˆ๋‹ค.

๊ฒ€์ƒ‰ํ•ด๋ณด๋‹ˆ ๋‚ด๋ถ€ ๊ตฌํ˜„์ด ๋‹ค๋ฅด๊ธฐ ๋•Œ๋ฌธ์œผ๋กœ ์•Œ๊ฒŒ๋๊ณ 
์‹ค์ œ๋กœ ํ…Œ์ŠคํŠธํ•ด๋ณด๋‹ˆ ์•„๋ž˜์ฒ˜๋Ÿผ Utc ์‹œ๊ฐ„์ด ํ›จ์”ฌ ๋น ๋ฅธ ์†๋„๋ฅผ ๋ณด์—ฌ์ฃผ๊ณ  ์žˆ์—ˆ์Šต๋‹ˆ๋‹ค.

์•„๋ž˜ ๋ธ”๋กœ๊ทธ์—์„œ DateTime.UtcNow.ToLocalTime()์„ ์‚ฌ์šฉํ•˜๋ฉด Utc์‹œ๊ฐ„์„ ๋‹ค์‹œ LocalTime์œผ๋กœ ๋ณ€ํ™˜ํ•ด์ค€๋‹ค๊ณ  ํ•˜๊ณ  ์‹ค์ œ๋กœ ์†๋„๋ฅผ ์ธก์ •ํ•ด๋ณด๋‹ˆ Utc๋ณด๋‹ค๋Š” ์•„๋‹ˆ์ง€๋งŒ Now๋ณด๋‹ค๋Š” ํ›จ์”ฌ ๋น ๋ฅธ ์†๋„๋ฅผ ๋‚ด๊ณ  ์žˆ์—ˆ์Šต๋‹ˆ๋‹ค.

image

์•ž์œผ๋กœ ๊ฐœ๋ฐœ๋˜๋Š”๊ฑฐ์— DateTime.UtcNow.ToLocalTime์„ ์ ์šฉํ•˜๊ณ  ์‹ถ์€๋ฐ.
ํ˜น์‹œ ์‚ฌ์šฉํ•ด๋ณด์‹  ๊ฐœ๋ฐœ์ž๋ถ„์ด ๊ณ„์‹ ์ง€. ๋‹ค๋ฅธ๋ถ„๋“ค์€ ์–ด๋–ป๊ฒŒ ์‚ฌ์šฉํ•˜๊ณ  ๊ณ„์‹ ์ง€ ๊ถ๊ธˆํ•ฉ๋‹ˆ๋‹ค.
์ž‘์€ ๊ฒฝํ—˜์ด์—ฌ๋„ ์ข‹์œผ๋‹ˆ ๋‹ต๋ณ€ํ•ด์ฃผ์‹œ๋ฉด ๊ฐ์‚ฌํ•˜๊ฒ ์Šต๋‹ˆ๋‹ค ใ…Žใ…Ž

3๊ฐœ์˜ ์ข‹์•„์š”

๋งํฌ๋œ ๊ธ€์—์„œ ์„ค๋ช…ํ–ˆ๋‹ค์‹œํ”ผ, UTC๋Š”, ์†๋„ ์ธก๋ฉด ๋ณด๋‹ค๋Š”, ๋ณต์ˆ˜์˜ ํƒ€์ž„ ์กด ์ปจํ…์ŠคํŠธ์—์„œ ์˜ฌ๋ฐ”๋ฅธ ์‹œ๊ฐ„ ๋น„๊ต๋ฅผ ์œ„ํ•œ ๊ฒƒ์ž…๋‹ˆ๋‹ค.

์†๋„๊ฐ€ ๋น ๋ฅด๋‹ค๋Š” ์ด์œ ๋กœ, DateTime.UtcNow.ToLocalTime()์„ ํ˜ธ์ถœํ•˜๋ฉด, ์ด๋Š” DateTime.Now์™€ ๊ฐ™์•„, ํƒ€์ž„ ์กด ์‚ฌ์ด์— ์‹œ๊ฐ„ ๋น„๊ต๊ฐ€ ์•ˆ๋ฉ๋‹ˆ๋‹ค.

์˜ˆ๋ฅผ ๋“ค๋ฉด, ์•„์นจ 10์‹œ์— DateTime.Now ๊ฐ’์„ ์ €์žฅํ•œ๋‹ค๊ณ  ํ•  ๋•Œ, ์„œ์šธ ๊ฒ€์‚ฌ๊ธฐ๊ฐ€ ์ €์žฅํ•œ ๊ฐ’๊ณผ ๋ฏธ๊ตญ ๋™๋ถ€์— ์žˆ๋Š” ๊ฒ€์‚ฌ๊ธฐ๊ฐ€ ์ €์žฅํ•œ ๊ฐ’์€ ๊ฐ™์Šต๋‹ˆ๋‹ค.

๊ทธ๋Ÿฌ๋‚˜, ๋‘ ๊ฒ€์‚ฌ๊ธฐ์˜ ์‹œ๊ฐ„๋Œ€๊ฐ€ ๋‹ค๋ฅด๊ธฐ์— ์ €์žฅ๋œ ๊ฒฐ๊ณผ์˜ ์ง์ ‘ ๋น„๊ต๋Š” ์˜ฌ๋ฐ”๋ฅธ ๊ฒฐ๊ณผ๋ฅผ ๋‚˜ํƒ€๋‚ด์ง€ ์•Š์Šต๋‹ˆ๋‹ค.

๋งํฌ๋œ ๋ฌธ์„œ์—์„œ๋Š” utc์™€ ๋กœ์ปฌ ํƒ€์ž„์ด ์„ ํƒ์˜ ๋ฌธ์ œ์ธ ๋“ฏํ•œ ๋‰˜์•™์Šค๊ฐ€ ์žˆ์ง€๋งŒ, ์ผ๋ฐ˜์ ์œผ๋กœ, DB์— ์ €์žฅํ•  ์‹œ๊ฐ„์€ UTC time์œผ๋กœ ํ•˜๋Š” ๊ฒŒ ๊ถŒ๊ณ  ์‚ฌํ•ญ์ž…๋‹ˆ๋‹ค.
(Display ๋‚˜ ์—ฐ์‚ฐ์„ ์œ„ํ•ด์„œ, ๋กœ์ปฌ ํƒ€์ž„์œผ๋กœ ๋ณ€ํ™˜ํ•ฉ๋‹ˆ๋‹ค.)

๋ฌผ๋ก  DB์— ์ด๋ฏธ ๋กœ์ปฌ ํƒ€์ž„์œผ๋กœ ์ €์žฅํ–ˆ์œผ๋ฉด ์ด๋ฅผ ์†๋Œ€๋ฉด ์•ˆ๋˜๊ฒ ์ฃ .

1๊ฐœ์˜ ์ข‹์•„์š”

์šฐ์„  ์ข‹์€ ๋‹ต๋ณ€ ๊ฐ์‚ฌํ•ฉ๋‹ˆ๋‹ค ใ…Žใ…Ž

ํŠน์ด์‚ฌํ•ญ์„ ์ œ๊ฐ€ ๋ฏธ๋ฆฌ ๋งํ–ˆ์–ด์•ผ ํ–ˆ๋Š”๋ฐ, ์ฃ„์†กํ•ฉ๋‹ˆ๋‹ค

๊ณ ๊ฐ์‚ฌ์— PC๋ฅผ ๋‚ฉํ’ˆํ• ๋•Œ ์‹œ์Šคํ…œ ์‹œ๊ฐ„์„ ์„œ๋ฒ„๋กœ ๋™๊ธฐํ™”๋ฅผ ์‹œํ‚ต๋‹ˆ๋‹ค.
๊ทธ๋ ‡๊ธฐ ๋•Œ๋ฌธ์— UtcNow๋ฅผ ์‚ฌ์šฉํ•˜์ง€ ์•Š๊ณ  Now๋กœ๋งŒ ์ž‘์„ฑํ•˜๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค.

์ด์ฒ˜๋Ÿผ ํƒ€์ž„์กด ๋น„๊ต๊ฐ€ ํ•„์š”์—†๋Š” ํ™˜๊ฒฝ์ด๋ผ๋ฉด ์†๋„๋งŒ์˜ ์ด์ ์œผ๋กœ ์‚ฌ์šฉํ• ๋งŒํ•œ ๊ฐ€์น˜๊ฐ€ ์žˆ์ง€ ์•Š์„๊นŒ ์ƒ๊ฐํ•ด๋ดค์Šต๋‹ˆ๋‹ค

์•„์นจ์— ๋‹ค์‹œ ํ…Œ์ŠคํŠธํ•ด๋ณด๋‹ˆ ์šฐ์„  ์–ด์ œ DateTime.Now๋กœ ๋ณธ ์‹œ๊ฐ„ ์ž์ฒด๊ฐ€ 14ms๋‚˜ ๋‚˜์˜จ๊ฒŒ ์ข€ ์ด์ƒํ•˜๋‹ค๊ณ  ํŒ๋‹จ๋˜์–ด ๋‹ค๋ฅธ ํ…Œ์ŠคํŠธ๋ฅผ ๋” ํ•ด๋ด์•ผ ํ•  ๊ฑฐ๊ฐ™์Šต๋‹ˆ๋‹ค. ใ…Žใ…Ž

์ถ”๊ฐ€๋‹ต๋ณ€์€ ์•ˆํ•ด์ฃผ์…”๋„ ๊ดœ์ฐฎ์„๊ฑฐ ๊ฐ™์Šต๋‹ˆ๋‹ค. ์†Œ์ค‘ํ•œ ๋‹ต๋ณ€ ์ฃผ์…”์„œ ๊ฐ์‚ฌํ•ฉ๋‹ˆ๋‹ค.

1๊ฐœ์˜ ์ข‹์•„์š”