๐Ÿšง

[javascript] toISOString() 1์ผ ์ „ ๋‚ ์งœ๊ฐ€ ๋œจ๋Š” ์ด์œ  ๋ฐ ํ•ด๊ฒฐ๋ฒ• (UTC ํƒ€์ž„์กด zero offset ์ด์Šˆ)

purpplee 2021. 7. 15. 11:44

toISOString() ๋Š” Date ๋ฅผ ISOString(yyyy-mm-ddThh:mm:ss) ํ˜•์‹์˜ ๋ฌธ์ž์—ด๋กœ  ๋ณ€ํ™˜ํ•ด์ฃผ๋Š” ํ•จ์ˆ˜์ด๋‹ค.

๊ทธ๋Ÿฐ๋ฐ ์ด ํ•จ์ˆ˜๋ฅผ ์‚ฌ์šฉํ•˜๋ฉด ๋‚ ์งœ๊ฐ€ ํ•˜๋ฃจ ์ „ ๋‚ ์งœ๊ฐ€ ์ฐํžŒ๋‹ค.

์ด์œ ๋Š” ์ด ํ•จ์ˆ˜๊ฐ€ ์šฐ๋ฆฌ๋‚˜๋ผ Time Zone ์ด ์•„๋‹ˆ๋ผ UTC ํƒ€์ž„์กด(zero offset) ์„ ์‚ฌ์šฉํ•˜๊ธฐ ๋•Œ๋ฌธ์ด๋‹ค.

 

ํ•ด๊ฒฐ๋ฐฉ๋ฒ•์€ ๋‘ ๊ฐ€์ง€๊ฐ€ ์žˆ๋‹ค.

 

์ฒซ๋ฒˆ์งธ๋Š” ๋Œ€ํ•œ๋ฏผ๊ตญ์˜ offset ์„ ์ˆ˜๋™์œผ๋กœ ์ถ”๊ฐ€ํ•ด์ค€ ๋’ค ISOString ํ•จ์ˆ˜๋ฅผ ์‹คํ–‰์‹œํ‚ค๋Š” ๊ฒƒ์ด๋‹ค.

let offset = date.getTimezoneOffset() * 60000; //ms๋‹จ์œ„๋ผ 60000๊ณฑํ•ด์คŒ
let dateOffset = new Date(date.getTime() - offset);
  
console.log(dateOffset.toISOString());

 

๋‘๋ฒˆ์งธ๋Š” js ์˜ Date function ๋“ค์„ ๊ฐœ์„ ํ•œ moment.js ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ๊ฒƒ์ด๋‹ค.

npm install moment --save
yarn add moment
let momentDate = moment(date).format();
console.log(momentDate);

 

๋ฐ˜์‘ํ˜•