1.UTC
세계 표준 시간
2.시간대
영국 표준시 GMT (UTC+0) (그리니치 천문대 기준)
한국 표준시 KST (UTC+9)
일본 표준시 JST (UTC+9)
미국 동부 표준시 EST (UTC-5)
- 세계 표준 시간인 UTC와 시간대의 하나인 GMT(영국표준시)와는 다르다 ( UTC와 GMT는 동일한 시간이지만 표준시간과 시간대를 의미하기 때문에 다르다 )
- 영국 표준시 GMT는 세계 표준 시간으로 UTC+0 이다
- 미국 동부 표준시와 한국의 표준시의 차이를 UTC+0 기준를 통해서 구해보면 -14시간 차이가있다
- 그래서 예를들어서 한국이 2024/1/1 14:00 인 경우 미국은 2024/1/1 00:00 이다. 또한 이 경우 UTC 표준시간은 2024/1/1 05:00이 된다
- UTC 등장 이전에는 GMT를 세계 표준 시간으로 사용하며 GMT+9등으로 사용했다
날짜 형식
1.미국식 날짜 형식 (MM/DD/YYYY)
2.유럽식 날짜 형식 (DD/MM/YYYY)
3.한국식 날짜 형식 (YYYY/MM/DD)
4.타임스탬프 (1970년 1월 1일 0시 기준으로부터 현재까지의 밀리초를 표현)
3. ISO 형식
국제표준기구에서 정의한 날짜와 시간을 표현하는 표준 형태 (ISO 8601)
1.아래와 같은 형태를 사용한다
YYYY-MM-DDTHH:mm:ss.sssZ
YYYY: 연도 (네 자리로 표시)
MM: 월 (01부터 12까지의 두 자리 숫자로 표시)
DD: 일 (01부터 31까지의 두 자리 숫자로 표시)
T: 날짜와 시간을 구분하는 문자 "T" (Time의 약자)
HH: 시간 (00부터 23까지의 두 자리 숫자로 표시)
mm: 분 (00부터 59까지의 두 자리 숫자로 표시)
ss: 초 (00부터 59까지의 두 자리 숫자로 표시)
sss: 밀리초 (000부터 999까지의 세 자리 숫자로 표시)
Z: 시간대 정보 (UTC+0을 의미 / Z대신에 +00:00을 사용하기도 한다 / Z or +00:00 )
2.Z는 UTC+0을 의미하며 전 세계 어느곳에서나 동일한 순간을 가리키는 절대시간을 나타낸다
2024-01-01T00:00:00.000Z 이라면 2024-01-01T00:00:00.000+UTC0 을 의미한다
3.Z가 없으면 현지 시간(로컬 타임)을 의미한다. 즉 내 PC에 설정된 타임존이 한국이면 한국시간을 의미한다
2024-01-01T00:00:00.000 (한국시간기준 UTC+9)
4.ISO 형식에 UTC를 사용하면 아래와 같이 Z를 사용하지않고 +00:00으로 시간을 표기한다
형식 : 현지시간 ± UTC
2024-01-01T00:00:00.000Z (UTC 기준시간)
2024-01-01T00:00:00.000+00:00 (UTC 기준시간)
2024-01-01T09:00:00.000+09:00 (한국시간)
2024-12-31T19:00:00.000-05:00 (미국시간)
2024-01-01T00:00:00.000 (로컬타임 = 운영체제의 시간)
아래는 UTC기준 시간으로 한국시간과 미국시간을 구한 예제이다
형식 : 해당현지시간±UTC
2024-01-01T00:00:00+0000 (UTC 기준시간)
2024-01-01T09:00:00+0900 (한국시간)
2023-12-31T19:00:00-0500 (미국시간)
5.현재 내 브라우저의 로컬타임 알아내는 법
브라우저의 개발자 콘솔에 아래 명령어를 입력
Intl.DateTimeFormat().resolvedOptions().timeZone // Asia/Seoul
6.로컬타임은 운영체제(OS)의 시간을 따른다
크롬 브라우저를 이용해서 new Date()함수를 사용해서 표시되는 시간은 운영체제에 설정된 지역의 현지 시간이다
그러므로 앞선 예의 2024-01-01T00:00:00.000 처럼 Z와 +00:00등의 타임존 정보를 설정하지 않는 경우 문제가 될수 있다
맥OS의 시간대를 변경
시간대 변경후 크롬에서 스페인이 로컬타임존으로 설정됨을 확인가능하다
이 경우 2024-01-01T00:00:00.000이 표시되지만 실제로는 아래와 같이 스페인 마드리드 UTC값이 적용되었다고 봐야한다
024-01-01T01:00:00+01:00
참조