일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 | 31 |
- API
- Streams
- CodePipeline
- git
- producer
- offsetdatetime
- kafka
- Spring JPA
- Spring Data JPA
- ECS
- AWS
- PAGING
- topic생성
- Kubernetes
- K8s
- centos7
- QueryDSL
- bean
- Kotlin
- spring
- consumer
- mirror maker2
- transactionaleventlistener
- cd
- Entity
- CI
- spring kafka
- entity graph
- mysql
- JPA
- Today
- Total
Yebali
Time zone과 표준시 본문
Time zone
Time zone은 동일한 로컬 시간을 따르는 지역을 말한다.
일반적으로 영국의 그리니치 천문대를 기준으로 경도 값에 의해 달라지지만 국가나 지역의 경계를 따르는 경우도 있다.
보통 국가별로 각자 고유한 Time zone을 사용하며, 미국처럼 면적이 넓은 나라는 지역별로 다른 Time zone을 사용하기도 한다.
GMT
GMT(그리니치 표준시)는 그리니치 천문대를 기점으로 하는 표준시이다.
GMT는 지구 자전의 영향을 받기 때문에 새로 협정 세계시(UTC)가 재정되어 1925년부터 1972년까지 사용되었다.
UTC
UTC는 1972년 1월 1일부터 시행된 국제 표준시이다.
세슘 원자 진동수를 기반으로 측정해 매우 정확하며 국제 원자시와 윤초 보정을 기반으로 표준화되었다.
UTC는 GMT를 기반으로 하기 때문에 GMT와 혼용되서 사용되기도 하며 실제로 초의 소수점 단위에서만 차이가 난다.
기술적인 표기에서는 UTC를 사용된다.
Summer time
Summer time이란 하절기에 표준시를 원래 시간보다 한 시간 앞당긴 시간을 쓰는 것을 말한다.
미국식 영어에서는 Daylight saving time(DST), 영국식 영어에서는 Summer time이라고 한다.
북미 대부분의 지역과 많은 유렵 국가들이 사용하고 있다.
ISO 8601
ISO 8601은 날짜와 시간의 표기에 관한 국제 표준 규격이며 아래와 같은 특징을 지닌다.
- 그레고리력을 따르기 때문에 아래와 같은 표기방법을 가진다.
- 연은 0000~9999년 까지 사용할 수 있다.
- 월의 표기는 01~12까지의 값을 가진다.
- 일의 표기는 01에서 시작하여 달에 따라 28~31까지의 값을 가진다.
- 연중 일의 표기는 001~365 또는 366 까지의 값을 가진다.
- 연중 주의 표기는 01부터 시작한다.
- 주중 일의 표기는 월요일을 1로 시작하여 순서대로 요일에 숫자를 붙이며 일요일을 7로 한다.
- 시간을 표기할 때는 쌍점을 쓴 'hh:mm:ss' 또는 'hhmmss'형식을 사용한다.
날짜와 시간을 함께 표기할 때에는 날짜와 시간 사이에 T를 구분자로 사용하여 표기한다.
- ex) 1994-01-22T09:00:00 : 1994년 1월 22일 09:00:00
- Timezone을 표기할때에는 'Z' 또는 +/- 기호를 사용한다.
- ex) 1994-01-22T09:00Z == UTC 시간대에서의 1994년 1월 22일 오전 9시 00초
- ex) 1994-01-22T09:00+09:00 == UTC+9 시간대에서의 1994년 1월 22일 오전 9시 00초
- +는 UTC보다 빠른 것을 의미하며 반대로 -는 느리다는 것을 의미한다.
즉, '1994-01-22T00:00Z'과 '1994-01-22T09:00+09:00'는 동일한 시간이다.
RFC 3339
앞서 설명한 ISO8601은 ISO에서 정한 단순한 규격이다. ISO8601을 인터넷에서 어떻게 다룰지 규정한 것이 RFC3339이다.
ISO8601와 거의 비슷하며 약간의 차이만 있다.
예를 들어 RFC 3339에서는 'T'의 생략을 허용하지 않고, 날짜와 시간 사이의 공백을 허용한다.
참고
https://velog.io/@kerri/TimeZone-Locale-DateFormat
https://bobbohee.github.io/2021-01-29/what-is-utc-and-gmt#fn:3
'Backend Common' 카테고리의 다른 글
분산락과 Redisson (0) | 2023.05.08 |
---|---|
[Socket] Socket이란? (0) | 2023.01.17 |
[WebSocket] WebSocket이란? (0) | 2022.09.27 |
[JAVA] Garbage Collection의 개념과 동작 (0) | 2022.09.25 |
[JAVA] JVM의 구조 (0) | 2022.09.25 |