Unix 타임스탬프란?
Unix 타임스탬프(POSIX 시간 또는 Epoch 시간이라고도 함)는 'Unix Epoch'에서 시작하여 실행 중인 총 초 수로 시간을 추적하는 시스템입니다. 이는 전 세계 대부분의 컴퓨터 시스템, 서버 및 데이터베이스에서 사용되는 표준 시간 형식입니다.
Unix Epoch
시작점은 1970년 1월 1일 00:00:00 UTC로 정의됩니다. 이 시간 이전의 날짜는 음수로 표시됩니다.
일반적인 시간-초 변환
| 사람이 읽을 수 있는 시간 | 초 |
|---|---|
| 1시간 | 3,600 초 |
| 1일 | 86,400 초 |
| 1주 | 604,800 초 |
| 1개월 (30.44일) | 2,629,743 초 |
| 1년 (365.24일) | 31,556,926 초 |
2038년 문제
Y2K 버그와 유사하게 '2038년 문제'는 2038년 1월 19일에 발생할 것으로 예상됩니다. 이 순간 Unix 시간은 32비트 부호 있는 정수의 최대값을 초과하게 됩니다. 레거시 32비트 시스템은 이 날짜를 1901년으로 해석하여 심각한 오류를 일으킬 수 있습니다.
03:14:07 UTC 19/01/2038
Max Int32: 2,147,483,647
일반적인 사용 사례
데이터베이스
시간을 정수(INT)로 저장하면 공간을 절약하고 쿼리/정렬 성능을 크게 향상시킵니다.
파일 시스템 및 로그
백업 파일이나 시스템 로그의 이름을 지정하여 고유성을 보장하고 시간순으로 쉽게 정렬할 수 있습니다.
API 및 토큰
JWT(JSON 웹 토큰)에서 만료 시간(exp 클레임) 및 유효 기간을 정의하는 데 사용됩니다.