Timestamp
- UTC 1970년 1월 1일 0시 0분 0초(1970.01.01 00:00:00) 를 기준으로 특정 시점까지의 경과 시간을 초로 환산하여 정수로 나타낸 것이다. == Unix Timestamp == Epoch Time
- UTC를 기준으로 하기 때문에 시차(TimeZone)의 영향을 받지 않는다.
- 프로그래밍 언어에서는 millisecond(long) 단위를 주로 사용한다.
ISO 8601
- 날짜와 시간에 관련된 데이터 교환을 다루는 국제 표준이다.
- 그레고리력을 사용한다.
- 날짜와 시간 값은 큰 시간 용어가 왼쪽에 위치한다(년도가 월의 왼쪽에 위치).
- 고정된 자릿수를 갖는다. 이를 위해 필요한 경우 '0'(leading zero)를 앞에 추가한다.
- 24시간제를 사용한다.
- 날짜: YYYY-MM-DD 또는 YYYYMMDD
- 시간: hh:mm:ss.sss 또는 hhmmss.sss, hh:mm:ss 또는 hhmmss
- Time Zone 표현이 UTC 혹은 UTC의 오프셋으로 표현된다. 주어지지 않는다면 지역 시간(local time)으로 간주된다.
- <time>Z, <time>±hh:mm, <time>±hhmm, <time>±hh
- 시간이 UTC인 경우 시간 뒤에 빈칸 없이 'Z'(Zulu time == UTC)를 추가해야 한다. 'Z'는 UTC로 부터의 offset이 0라는 것을 의미한다.
- Z도 오프셋으로 나타낼 수 있다: "+00:00", "+0000", "+00" (음수 표현은 허용하지 않음)
- UTC 오프셋은 시간 뒤에 ±[hh]:[mm], ±[hh][mm], ±[hh] 형식으로 덧붙인다.
- 예) +01:00, +0100, +01
- UTC 시간을 계산하려면 지역시간에서 오프셋 만큼 빼야 한다.
- "15:00-03:30"은 15:00 - (-03:30) 을 해서 18:30 UTC가 된다.
- 다음의 모든 시간들은 동일하다.
- "18:30Z", "22:30+04", "1130−0700", "15:00−03:30"
ISO 8601에 따라 표현된 날짜와 시간 | |
날짜 | 2016-10-27 |
날짜 및 시간 | 2016-10-27T17:13:40+09:00 2016-10-27T17:14:40Z 20161027T171340Z |
MySQL에서 날짜와 시간
- 날짜와 시간을 위한 데이터 타입
- time
- 시간 정보만 저장한다.
- date
- 날짜 정보만 저장한다.
- datetime
- 날짜와 시간 정보를 저장한다.
- 타임존 정보를 포함하지 않는다.
- 초는 소수점 6자리(microsecond) 까지 저장할 수 있다.
- 범위: 1000-01-01 00:00:00 ~ 9999-12-31 23:59:59
- timestamp
- 날짜와 시간 정보를 저장한다.
- 타임존 정보를 포함한다. 입력받은 시간 정보를 현재의 time_zone 설정(시스템 변수 or 세션)을 기준으로 UTC로 변환하여 저장한다. 표시할 때는 현재의 time_zone 설정에 맞게 변환한다.
- Epoch Time(UTC) 기준의 숫자값으로 저장한다.
- 특정 time_zone으로 저장한 후 조회한 값과 time_zone을 변경한 후 조회한 값은 서로 다르다. 저장되어 있는 UTC 값의 변화는 없다.
- 초는 소수점 6자리(microsecond) 까지 저장할 수 있다.
- 범위: 1970-01-01 00:00:00 UTC ~ 2038-01-19 03:14:07 UTC 까지 지원
- time
Reference
- https://ko.wikipedia.org/wiki/타임스탬프
- https://ko.wikipedia.org/wiki/유닉스 시간
- https://ko.wikipedia.org/wiki/ISO_8601
- MySQL Reference: https://dev.mysql.com/doc/refman/5.6/en/datetime.html
'잡다구리' 카테고리의 다른 글
docker-compose에서 다른 서비스가 healthy 상태여야 특정 서비스를 기동하여야 할 때 (0) | 2022.08.13 |
---|---|
스레드 상태 (Thread State) (0) | 2022.08.12 |
Redis Cluster 구성 테스트 (0) | 2022.08.12 |
redis docker (0) | 2021.08.24 |
스프링 배치 완벽 가이드 - 6. 잡 실행하기 (0) | 2021.05.09 |
스프링 배치 완벽 가이드 - 5. JobRepository와 메타데이터 (0) | 2021.05.06 |
스프링 배치 완벽 가이드 - 4. 잡과 스텝 이해하기 (0) | 2021.05.02 |
스프링 배치 완벽 가이드 - 3. 예제 잡 애플리케이션 (0) | 2021.05.02 |
댓글