node.js 를 사용한 서버에서 new Date() 로 현재시간을 저장하는 코드가 있었다.
근데 서버를 하나 빌렸더니 외국 어딘가로 돼있어서 시간 저장이 이상하게 되더라...
서버 시간을 바꾸는 법도 있겠지만 가끔 docker 사용시 서버 시간이 외국으로 돼있는 경우도 있기에
그냥 nodejs 에서 처리하기로 생각
예전엔 moment.js 를 썼었는데 요새 크기가 너무 커지고 뭐 별로라해서 day.js 사용해봤다.
npm install dayjs
// node.js
const dayjs = require('dayjs');
const timezone = require('dayjs/plugin/timezone')
const utc = require('dayjs/plugin/utc');
dayjs.extend(utc)
dayjs.extend(timezone)
console.log(dayjs().tz("Asia/Seoul"))
console.log(new Date().toString());
root@002b13b84c41:/test# node t.js
// console.log(dayjs().tz("Asia/Seoul"))
d {
'$L': 'en',
'$d': 2021-04-13T18:03:55.594Z,
'$x': { '$timezone': 'Asia/Seoul' },
'$y': 2021,
'$M': 3,
'$D': 13,
'$W': 2,
'$H': 9,
'$m': 3,
'$s': 55,
'$ms': 594,
'$offset': 540,
'$u': false }
// console.log(new Date().toString())
Mon Apr 12 2021 15:03:55 GMT-0900 (Hawaii-Aleutian Daylight Time)
하와이-알류샨 시간대에서 현재 한국 시간인 9시 3분을 구할 수 있다