타임스탬프 변환기
Unix 타임스탬프(Unix Epoch 이후의 초 또는 밀리초)를 사람이 읽을 수 있는 날짜-시간 문자열로 변환하고, 날짜를 다시 Unix 타임스탬프로 변환합니다. UTC 및 로컬 시간대를 지원합니다.
Unix 시간은 1970년 1월 1일 00:00:00 UTC - Unix Epoch에서 시작되었습니다. 모든 Unix 타임스탬프는 그 순간 이후 경과한 초(또는 많은 현대 시스템에서 밀리초)의 수입니다. 타임스탬프는 시간대와 무관하고 정수로 정렬 가능하며 산술적으로 비교하기 쉬워 프로그래밍, 데이터베이스 및 API 전반에서 사용됩니다. 1711843200을 원시 숫자로 읽어도 아무것도 알 수 없습니다. 이 변환기는 이를 2024-03-31T00:00:00.000Z로 즉시 변환합니다. ISO 8601 - 국제 날짜 표준을 사용합니다. 모든 변환은 귀하의 브라우저에서 로컬로 실행됩니다.
이 도구 사용 방법
- 타임스탬프를 날짜로: 초 또는 밀리초 단위의 Unix 타임스탬프를 입력하세요 - 도구가 UTC 및 귀하의 로컬 시간대에서 날짜를 표시합니다.
- 날짜를 타임스탬프로: 날짜 선택기를 사용하여 날짜와 시간을 입력한 후, 결과로 나온 초 및 밀리초 단위의 Unix 타임스탬프를 복사하세요.
- 지금을 클릭하여 참조용으로 현재 타임스탬프를 채우세요.
- 형식 선택기를 사용하여 날짜를 ISO 8601, RFC 2822 또는 사람이 읽을 수 있는 형식으로 표시하세요.
Unix 타임스탬프 이해하기
초 단위 vs 밀리초 단위
두 가지 관습이 널리 사용되고 있습니다. Unix 시간 초 단위 (2024년 기준 10자리, 예: 1711843200)는 POSIX API, C/C++ time(), Python의 time.time() 및 대부분의 서버 측 시스템에서 사용됩니다. Unix 시간 밀리초 단위 (13자리, 예: 1711843200000)는 JavaScript의 Date.now(), Java의 System.currentTimeMillis() 및 많은 웹 API에서 사용됩니다. 간단한 규칙: 10자리는 초 단위; 13자리는 밀리초 단위입니다. 가장 큰 유효한 32비트 부호 있는 정수 타임스탬프는 2147483647 (초 단위)로, 2038년 1월 19일에 해당합니다 - 레거시 시스템의 2038년 문제입니다.
ISO 8601 형식
ISO 8601은 날짜 및 시간 표현의 국제 표준입니다. 전체 UTC 형식은 YYYY-MM-DDTHH:mm:ss.sssZ이며, 여기서 T는 날짜와 시간을 구분하고 Z는 UTC (줄루 시간)를 나타냅니다. ISO 8601은 API 응답 및 데이터 교환을 위한 권장 형식입니다. 이는 모호하지 않으며, 사전 순으로 정렬 가능하고, 모든 주요 프로그래밍 언어에서 구문 분석할 수 있습니다.
예시
타임스탬프를 날짜로
입력 (초): 1711843200
UTC 날짜 (ISO 8601): 2024-03-31T00:00:00.000Z
RFC 2822: 일, 2024년 3월 31일 00:00:00 +0000
사람이 읽을 수 있는 (UTC): 2024년 3월 31일 일요일 12:00:00 AM UTC
날짜를 타임스탬프로
입력: 2024-03-31 00:00:00 UTC
Unix (초): 1711843200
Unix (밀리초): 1711843200000
일반적인 타임스탬프 형식
- Unix 초 (POSIX):
1711843200- 10자리, C, Python, Go, 대부분의 시스템 API에서 사용 - Unix 밀리초:
1711843200000- 13자리, JavaScript, Java, 많은 REST API에서 사용 - ISO 8601 UTC:
2024-03-31T00:00:00Z- API 응답 및 데이터 저장을 위해 권장 - ISO 8601 오프셋 포함:
2024-03-31T03:00:00+03:00- 명확한 로컬 시간을 위한 시간대 오프셋 포함 - RFC 2822:
일, 2024년 3월 31일 00:00:00 +0000- 이메일 헤더 및 HTTPDate헤더에서 사용 - Unix Epoch 참조:
0=1970-01-01T00:00:00Z
모범 사례
- 데이터베이스에 UTC로 타임스탬프 저장 - 표시 계층에서만 로컬 시간으로 변환
- API 응답에 ISO 8601 사용 - 이는 모호하지 않으며 모든 언어에서 구문 분석 가능
- 새 시스템에서는 초보다 밀리초를 선호하여 서브 초 정밀도로 부동 소수점 산술을 피하세요
- 2038년 오버플로우 문제를 피하기 위해 32비트 타임스탬프 저장소를 64비트로 마이그레이션
타임스탬프가 포함된 고유 식별자의 경우, UUID v7 (RFC 9562)는 Unix 밀리초 타임스탬프와 무작위 비트를 결합하여 정렬 가능하고 고유한 ID를 생성합니다 - 정렬 순서가 필요하지 않은 경우 UUID v4를 위해 UUID 생성기를 사용하세요. 타임스탬프가 포함된 JSON 응답을 디버깅할 때, JSON 포매터는 중첩된 타임스탬프 필드를 읽기 쉽게 만듭니다.
자주 묻는 질문
Unix 타임스탬프란 무엇인가요?
Unix 타임스탬프는 Unix Epoch - 1970년 1월 1일 자정 (00:00:00 UTC) 이후 경과한 초의 수입니다. 윤초는 제외됩니다. 이는 시간대와 무관하며, 간단한 정수로 비교 및 정렬하기 쉽습니다. Unix 타임스탬프는 운영 체제, 데이터베이스 및 프로그래밍 언어에서 시간의 보편적인 내부 표현입니다.
타임스탬프가 초 단위인지 밀리초 단위인지 어떻게 알 수 있나요?
숫자의 자릿수를 세세요. 2024년 기준으로, 초 단위의 Unix 타임스탬프는 10자리입니다 (예: 1700000000). 밀리초 단위의 타임스탬프는 13자리입니다 (예: 1700000000000). 숫자가 약 100억보다 작으면 초 단위일 가능성이 높습니다. 나노초 정밀 타임스탬프(일부 고주파 시스템에서 사용)는 19자리입니다.
2038년 문제란 무엇인가요?
32비트 부호 있는 정수로 Unix 타임스탬프를 저장하는 시스템은 최대 2,147,483,647까지의 값만 표현할 수 있습니다. 이 최대값은 2038년 1월 19일 03:14:07 UTC에 해당합니다. 그 이후에 1초를 추가하면 정수 오버플로우가 발생하여 큰 음수로 변환되어 날짜 계산이 깨집니다. 현대의 64비트 시스템은 약 292억 년까지 안전합니다.
변환기가 내 로컬 시간대를 사용하나요?
네. 이 도구는 UTC와 귀하의 로컬 시간을 모두 표시합니다. 로컬 시간은 귀하의 브라우저의 시간대 설정에 따라 결정되며, 이는 운영 체제의 설정된 시간대를 반영합니다. 시스템 시계가 잘못 설정되어 있거나 여행 중인 경우, 로컬 시간 표시가 해당 설정을 반영합니다.
코드에서 현재 Unix 타임스탬프를 어떻게 얻나요?
JavaScript: Math.floor(Date.now() / 1000) (초 단위) 또는 Date.now() (밀리초 단위). Python: import time; int(time.time()). Go: time.Now().Unix() (초 단위), time.Now().UnixMilli() (밀리초 단위). PostgreSQL: EXTRACT(EPOCH FROM NOW()). Bash: date +%s.