반응형
현상
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 |