[ํธ๋ฌ๋ธ์ํ ] ๋ ์ง ๋ฐ์ดํฐ ์ถ๋ ฅ, moment.js utc
๋ ์ง ๋ฐ์ดํฐ๊ฐ ๋๋น์ ์๋ ๋ ์ง์ ๋ค๋ฅด๊ฒ ๋์จ๋ค๋ ์ด์๊ฐ ์์๋ค.
1. ๋จผ์ ํ๋ก ํธ์์ ์์ฒญ ์ฝ๋๋ฅผ ๋ณด๋ผ ๋๋ ๋ฌธ์ ๊ฐ ์์๋ค.
select @@global.time_zone, @@session.time_zone,@@system_time_zone;
๋จผ์ mysql ํ์์กด์ ํ์ธํด ๋ณด๋ฉด, utc ๊ธฐ์ค์ผ๋ก ๋์ด ์๋ค๋ ๊ฒ์ ํ์ธํ ์ ์์๋ค.
select now()
select now()๋ฅผ ํด๋ณด์๋ ํ๊ตญ ํ์ค์๋ณด๋ค 9์๊ฐ ๋๋ฆฐ ๊ฒ์ ํ์ธํ ์ ์์๋ค.
ํ๋ก ํธ์์๋ moment.js๋ฅผ ์ฌ์ฉํ๊ณ ์์๋๋ฐ,
moment์์ utc๋ฅผ ๋ถ์ด๊ณ ๋ณด๋ด๋ฉด ๋ณด๋ธ ๊ฐ๊ณผ ๋์ผํ๊ฒ ๋๋น์ ์ ์ฅ์ด ๋๊ณ ,
utc๋ฅผ ๋ถ์ด์ง ์์ผ๋ฉด ISO8601 ํ์์์ +09:00์ผ๋ก ์์ฒญ์ด ๊ฐ๊ธฐ ๋๋ฌธ์
๋ฐฑ์๋์์ -9์๊ฐ์ ํ๊ณ ๊ฐ์ ์ ์ฅํด์ฃผ๊ณ ์์๋ค.
๋ฐ๋ผ์ payload์ response์ ์๊ฐ์ ๋์ผํ๊ฒ ์ค์ ํด ์ฃผ๊ธฐ ์ํด .utc()๋ฅผ ์ค์ ํ๊ณ ์์ฒญ์ ๋ณด๋ด๊ธฐ๋ก ์์ฒญํ์๋ค.
๊ทธ๋ฆฌ๊ณ moment์์ .utc()๋ฅผ ํ๊ฒ ๋๋ฉด ํ๋ก ํธ๋จ์์ -9์๊ฐ์ ํด์ฃผ๊ธฐ ๋๋ฌธ์,
+9์๊ฐ์ ํ์ฌ ์์ฒญ์ ๋ณด๋ด๋๋ก ์์ ํ์๋ค.
2. ์์ฒญ ์ฝ๋ ๋ฟ๋ง ์๋๋ผ ํ๋ก ํธ์์ ๋ ์ง๋ฅผ ๋ณด์ฌ์ฃผ๋ ๊ฒ์๋ ๋ฌธ์ ๊ฐ ์์๋ค.
์์ ์ด์ ์์ฒญ ์ฝ๋์ ๋ฐ๋ผ, utc์ฒ๋ฆฌ๋ฅผ ํ์ง๋ง 9์๊ฐ์ ๋ํ์ง ์๊ณ ์์ฒญ์ด ๊ฐ ์ฝ๋๋ค์ 15์๋ก ๋๋น์ ์ ์ฅ์ด ๋๊ฒ ๋๋๋ฐ,
ํด๋น ๋ฐ์ดํฐ๋ฅผ ํ๋ก ํธ์์ ํ๋ฉด์ ๋ณด์ฌ์ค ๋ utc์ฒ๋ฆฌ๋ฅผ ํด์ฃผ์ง ์์ '15์'๋ก ์ ์ฅ๋ ๊ฐ๋ค์ +9์๊ฐ์ ํ์ฌ
๋ค์๋ ๋ก ๋ณด์ฌ์ง๊ฒ ๋๋ ๊ฒ์ด์๋ค.
๊ทธ๋์ .utc()์ฒ๋ฆฌ๋ฅผ ํด์ฃผ์๋ค.
3. ๋ํ ์ ์ฑ ์ ๋ง์ง ์๊ฒ ํ๋ก ํธ ์ฝ๋์ ๋๋น๊ฐ ์์ฑ๋์ด ์์๋ค.
์ ์ฑ ์์ผ๋ก๋ '์ผ์ฃผ์ผ'๊ณผ '1๋ '์ธ๋ฐ, ๊ธฐ๊ฐ์ 7์ผ๊ณผ 365์ผ์ ๋ํด์ฃผ๊ณ ์์ด ์ด ๊ธฐ๊ฐ์ด 8์ผ, 366์ผ์ด ๋์๋ค.
๋ฐ๋ผ์ 6์ผ๊ณผ 364์ผ๋ก ์์ ํด์ฃผ์๋ค.
๋ฐฑ์๋์์ response๋ฅผ ๋ณด๋ผ ๋ ๊ฐ์ ธ์ค๋ template ๋๋น๋ ์๋ชป๋ ๊ฐ์ด ์ ์ฅ๋์ด์์ด ์ ๋ณดํ์๋ค.
์ฐธ๊ณ
https://study-ce.tistory.com/59