반응형
import moment from 'moment';
require('moment-timezone');
// import timezone from 'moment-timezone';
moment.tz.setDefault("Asia/Seoul");
//시간 비교 표기하기위해서
moment.updateLocale('ko', {
relativeTime : {
future: "%s 후",
past: "%s 전",
s : "%d 초",
ss : "%d 초",
m: "%d 분",
mm: "%d 분",
h: "%d 시간",
hh: "%d 시간",
d: "%d 일",
dd: "%d 일",
M: "%d 달",
MM: "%d 달",
y: "%d 년",
yy: "%d 년"
}
});
// result는 select query의 결과
console.log('1순위 시간',moment(result[0].time).subtract(9,'hours'));
// 시간대 Asia/Seoul로 되어있어서 한국어로 표기된다.
console.log('LLLL 변환',moment(result[0].time).subtract(9,'hours').format('LLLL'));
console.log('현재시간',moment().format());
// 현재와 고정시간과 비교
moment(result[0].time).subtract(9, 'hours').fromNow();
console.log('상대시간', moment('2020-06-19 19:57',"YYYY-MM-DD HH:mm").fromNow());
Mysql 시간 저장하는 칼럼으로 Datetime으로 구성했다.
저장할 때 한국시간으로 저장했고 위의 코드처럼 result [0]로 결괏값을 가져왔는데 서울시간으로 저장했으나 이상하게도 9시간 빠르게 표시됐다.
그래서 현재시간과 비교할때 현재 서울시간과 동일하게 하기 위해서 임의적으로 저장됐던 시간대에서 9시간을 뺐다.
내가 GMT와 UTC를 잘 이해하지못하고 사용해서 그런 것 같긴 한데 임의적으로 시간 값을 수정해서 비교하도록 했다.
1시간을 45분되면 인식되어서 상대 시간 인식하는 것을 따로 처리해줬다
moment.relativeTimeThreshold('m', 60);
moment.relativeTimeThreshold('h', 24);
moment.relativeTimeThreshold('M', 30);
반응형
'Web > Node.js' 카테고리의 다른 글
nvm windows에 설치하기 (0) | 2021.10.24 |
---|---|
node, npm 버전 관리 (0) | 2021.03.04 |
Node.js HTTPS 서버 작동하기 (0) | 2020.07.04 |
Node.JS 카카오페이 API 사용하기 (2) | 2020.06.18 |
노드몬(Nodemon) 강제종료하기 (0) | 2020.05.20 |