프로그래밍

UTC , GMT, Unix Time 이란? - javascript Date객체로 확인하기

ohlee52 2023. 9. 23. 00:00
반응형

UTC , GMT, Unix Time 이란? - javascript Date객체로 확인하기
UTC , GMT, Unix Time 이란? - javascript Date객체로 확인하기

UTC 와 GMT 차이 

UTC(Coordinated Universal Time) : 세계 협정시, 국제적인 표준 시간의 기준
GMT(Greenwich Mean Time) : 그리니치 평균시, UTC 와 교환 가능하지만 표준이 아니고 UTC 와 밀리초 차이 있다
KST (Korea Standard Time) : 한국 표준시

UTC, GMT 둘다 영국 그리니치 천문대를 지나는 본초자오선(경도 0°)을 기준 시간으로 하여 같은 타임존을 갖는다.

 

세계 협정시 일 경우 마지막에 Z 가 붙는다. 

1981-02-22T09:00Z

(Z 는 zulu time 에서 왔다는 경우도 있고 zero UTC Offset 이라는 이야기도 있음 )

 

세계 협정시가 아닐 경우 해당 타임존의 offset 을 붙인다. 예시는 한국 offset 이다.

1981-02-22T09:00:00+09:00 (±hh:mm±hhmm±hh)

 

Unix Time

UNIX 시간(UNIX time)은 시각을 나타내는 방식이다. POSIX 시간이나 Epoch 시간이라고 부르기도 한다. 1970년 1월 1일 00:00:00 협정 세계시(UTC) 부터의 경과 시간을 로 환산하여 정수로 나타낸 것이다.

 

JavaScript Date 객체

JavaScipt 에서 Date() 객체를 생성 후 프린트하면  기기의 타임존을 고려한 현재 로컬 시간을 프린트한다. 

표기 방식이 GMT 로 표기되서 헷갈리지만 UTC 와 동일하다.

(내부적으로는 UTC 를 저장하고 계산하지만 프린트를 GMT 로 표기하는듯 하다 )

let date = Date();
// 'Wed Sep 20 2023 21:50:36 GMT+0900 (한국 표준시)'

 

표기 방식을 변경 하려면 다음과 같이 진행하면 된다.

Javascript 에서 getTime() 으로 Unix 타임을 구하면 밀리초 단위로 응답한다.

초 단위가 필요하면 /1000을 진행한다.

// GMT 표기
date.toString()
// 'Wed Sep 20 2023 23:06:33 GMT+0900 (한국 표준시)'

// UTC 표기 
date.toISOString()
// '2023-09-20T13:00:50.873Z'

// KST 표기 
date.toLocaleString()
// '2023. 9. 20. 오후 10:00:50'

// Unix milliseconds
date.getTime()
// 1695214850873

타임존  offset 값을 아래 함수로 구할 수 있다. 

date.getTimezoneOffset()
// -540

 

 

반응형