[Node.js] Node Timezone

nodejs를 사용할 시 기본시간이 UTC(세계 표준 시)로 설정되어 있기 때문에 다른 방법을 통해서 우리나라 현재 시간을 가져와야 합니다.

많은 블로그에서 moment를 이용해서 timezone설정을 하는방법을 적어두셨는데 전 그방법이 적용이 안되서 주먹구구식으로 설정해서 작업했습니다.

 

방법 1.

Moment 설치

npm i moment moment-timezone

 

Moment.js 파일 생성

require('moment-timezone');

var moment = require('moment');
moment.tz.setDefault("Asia/Seoul");
exports.moment = moment;

 

위의 방법을 통해서 timezone설정을 할 수 있다고 하지만 setDefault된 timezone값이 파일을 읽을때 이후로 리셋이 되는건지 적용이 안되는 현상을 보였습니다. 

공식문서에서도 해당부분에 대한 설명이 딱히 없는것같아서 주먹구구식으로 해결한게 방법2 입니다.

momentjs.com/docs/

 

Moment.js | Docs

moment.relativeTimeThreshold(unit); // getter moment.relativeTimeThreshold(unit, limit); // setter duration.humanize has thresholds which define when a unit is considered a minute, an hour and so on. For example, by default more than 45 seconds is consider

momentjs.com

 

방법 2.

Moment 설치

npm i moment

test.js 파일 생성

const moment = require('moment');
console.log(moment().add('9','h').format('YYYY-MM-DD HH:mm:ss'));

 

추가적으로 moment에 관한 정보가 필요하신 분들은 공식문서를 참고하시는게 제일 큰 도움이 되지 않을까 싶습니다.

반응형