본문 바로가기
IT/Frontend

Javascript 날짜에 타임존 적용

by DOSGamer 2019. 8. 2.
반응형

현상

Javascript 로 코딩해서 서버리스로 배포를 하다보니 시간이 UTC 기준으로 나옵니다

 

원인

개발용/운영용으로 사용하는 컴퓨터의 OS 시간대역이 서울 표준시로 맞춰져 있으나

서버리스 서비스는 default 시간대가 UTC 기준으로 되어 있습니다

 

해결방법

Moment-timezone 라이브러리를 사용해서 Asia/Seoul 타임존으로 설정합니다

 

설치방법

Step 1. Package Manager 로 설치합니다

NOTE : moment-timezone 설치하면 moment 도 같이 설치 됩니다

bower install moment-timezone --save # bower
npm install moment-timezone --save   # npm
yarn add moment-timezone             # Yarn

Step 2. 라이브러리 사용

const moment = require('moment-timezone');

let agreementTime = moment().tz('Asia/Seoul').format('YYYY-MM-DDTHH:mm:ss');

console.log(`agreementTime = ${agreementTime}`);

특정 시간을 변경하려면

var jun = moment("2014-06-01T12:00:00Z");
var dec = moment("2014-12-01T12:00:00Z");

jun.tz('America/Los_Angeles').format('ha z');  // 5am PDT
dec.tz('America/Los_Angeles').format('ha z');  // 4am PST

jun.tz('America/New_York').format('ha z');     // 8am EDT
dec.tz('America/New_York').format('ha z');     // 7am EST

jun.tz('Asia/Tokyo').format('ha z');           // 9pm JST
dec.tz('Asia/Tokyo').format('ha z');           // 9pm JST

jun.tz('Australia/Sydney').format('ha z');     // 10pm EST
dec.tz('Australia/Sydney').format('ha z');     // 11pm EST

 

Moment Timezone 장점

타임존 설정으로 각 국의 섬머타임으로 인한 시간변화도 알아서 적용됩니다

 

더보기

시간 관련해서는 무조건 moment 를 사용 하세요

 

반응형

'IT > Frontend' 카테고리의 다른 글

Our Next Web Framework is Vue  (0) 2020.02.13
AWS Lambda 를 이용한 Nuxt.js 프로젝트 구현  (0) 2019.12.03
갤럭시 S 시리즈 출시일  (0) 2019.10.29
Frontend 웹개발 연습환경  (0) 2019.08.16
Javascript 환경변수 처리하기 process.env (dotenv)  (1) 2019.08.05
이미지 라이브러리 sharp  (0) 2019.08.04
java vs javascript 차이  (0) 2019.08.04
var let const  (0) 2019.08.04