[01 UTC란? ]
- UTC란 Coordinated Universal Time Universal Time Coordinated을 뜻하는 말로 번역하면 한국어로는 "협정 세계시"라고 한다.
- 컴퓨터 세계에서도 이 UTC가 시간의 표준이 되는데, 한국은 UTC+9 시간대에 속하므로 UTC 시간에 +9를 해주면 한국 환산 시간이 나온다.
- 예시로 UTC 03:00은 한국 기준으로는 오후 12:00이다.
- 즉, 한국 시계가 협정 세계시보다 아홉 시간 빠르다.
- 프로그래밍을 하다 보면 이 UTC를 한국 시간대로 바꿔야 하는 경우가 종종 생기는데 은근히 까다로워서 정리해보기로 했다.
[02 관련 함수 ]
- 기본적으로 new Date()를 사용하여 현재 시간 객체를 생성할 수 있다.
- 그리고 Date 객체에는 다음과 같은 메소드들을 사용할 수 있다.
- getFullYear( ) : 로컬 시간의 연도를 반환
- getYear( ) : 로컬 시간의 연도에서 1900을 뺀 결과를 반환
- getMonth( ) : 로컬 시간의 월 값을 반환 (0부터 시작)
- getDate( ) : 로컬 시간의 일 값을 반환
- getDay( ) : 로컬 시간의 주 기준 요일 값을 반환 (일요일이 0부터 시작)
- getTime( ) : 로컬 시간의 전체 시간값을 밀리초 값으로 나타내어 반환 (기준은 1970년 1월 1일 0시 0분)
- getHours( ) : 로컬 시간의 시간 값을 반환 (24시간제)
- getMinutes( ) : 로컬 시간의 분 값을 반환
- getSeconds( ) : 로컬 시간의 초 값을 반환
- getMilliseconds( ) : 로컬 시간의 밀리초 값을 반환
- mdn 문서에 훨씬 더 많은 메소드가 있으니 참고하자.
[03 코드 적용 ]
- 나는 다음과 같이 클래스로 작성해서 필요한 시간 계산 함수를 만들고 호출해 사용했다.
(1) common / TimeUtil.js
- getTime( )은 현재 시간을 한국 시간대로 변경하는 메소드이다.
- getYearAndDate({ fullTime })은 전체 Date 객체 형식에서 시간을 빼고 연도와 날짜만 반환하는 메소드이다.
const TimeUtil = {
getTime: () => {
const timezoneOffset = new Date().getTimezoneOffset() * 60000 // 한국 시간대 offset을 이용해 계산
const time = new Date(Date.now() - timezoneOffset)
return time
}
getYearAndDate: ({ fullTime }) => {
const yearAndDate = fullTime.split("T")[0]
return yearAndDate
}
}
export { TimeUtil }
- 필요할 때마다 클래스에 메소드를 추가하고 호출해서 사용하면 편하게 날짜 계산할 수 있다.
'엘리스 AI트랙 4기 > 프로젝트' 카테고리의 다른 글
[TypeScript] morgan & winston으로 로그 남기기 (0) | 2022.06.28 |
---|---|
[GitLab] merge locally 해결하기 (0) | 2022.06.27 |
[Ubuntu] MySQL 서버 시간 & [Nodejs] Sequelize 타임존 변경 (0) | 2022.06.24 |
[Nodejs] nodemailer를 이용한 gmail 전송하기 (0) | 2022.06.23 |
[Sequelize] Nested Eager Loading (0) | 2022.06.22 |