날짜/시간 변환기

Unix 타임스탬프, ISO 8601 날짜, RFC 2822 형식, US/EU 날짜 스타일, 긴 날짜, 상대적 표현을 처리하는 포괄적인 날짜 및 시간 파서입니다. 형식 간 변환, 상대 시간 표시, 현재 타임스탬프 참조를 제공합니다.

사양

주요 사용 사례

  • 타임스탬프나 날짜가 포함된 API 응답 디버깅
  • 로그 파일 타임스탬프를 읽기 쉬운 날짜로 변환
  • 다양한 지역 형식의 날짜 파싱
  • 이벤트 간 시간 차이 계산
  • API 요청용 타임스탬프 생성
  • 토큰 만료 시간 확인 (JWT exp 클레임)
  • 국제 팀을 위한 날짜 형식 간 변환

기능

  • 형식 자동 감지: Unix 타임스탬프, ISO 8601, RFC 2822, US/EU 날짜 등
  • 초, 밀리초, 마이크로초, 나노초 단위의 Unix 타임스탬프 파싱
  • 시간 포함 여부에 관계없이 ISO 8601 날짜 처리 (2024-01-25T12:00:00Z)
  • US 형식 (01/25/2024), EU 형식 (25.01.2024), 긴 날짜 (January 25, 2024) 파싱
  • 상대적 표현 인식: now, today, yesterday, tomorrow
  • 상대 시간 표시 ("2시간 전", "3일 후")
  • 과거/미래/오늘 상태 배지
  • 요일, 주 번호, 분기, 연중 일수 표시
  • 캘린더 메트릭 그리드 (연중 주차, 분기, 연중 일수)
  • 추가 정보 섹션 (시간대, 월의 일수, 윤년)
  • 복사 버튼과 함께 여러 출력 형식으로 변환
  • Unix 마이크로초 및 나노초 출력
  • 새로고침 버튼이 있는 현재 시간 참조 카드

예제

Unix 타임스탬프 (초)

사용해 보기 →

초 단위의 표준 Unix 타임스탬프.

1706188800

Unix 타임스탬프 (밀리초)

사용해 보기 →

JavaScript 스타일의 밀리초 타임스탬프.

1706188800000

ISO 8601 날짜/시간

사용해 보기 →

시간대가 포함된 표준 ISO 8601 형식.

2024-01-25T12:00:00Z

ISO 8601 날짜만

사용해 보기 →

시간 구성 요소가 없는 날짜.

2024-01-25

US 날짜 형식

사용해 보기 →

미국에서 일반적인 월/일/년 형식.

01/25/2024

EU 날짜 형식

사용해 보기 →

유럽에서 일반적인 일.월.년 형식.

25.01.2024

사람이 읽을 수 있는 날짜 형식.

January 25, 2024

상대적 표현은 현재 시간으로 파싱됩니다.

now

  • JavaScript Date.now()는 밀리초를 반환합니다. 대부분의 Unix 도구는 초를 사용합니다.
  • ISO 8601 형식 (2024-01-25T12:00:00Z)은 가장 이식성이 높고 모호하지 않은 형식입니다.
  • 저장에는 UTC 타임스탬프를 사용하고, 표시할 때만 현지 시간으로 변환하세요.
  • 날짜가 모호한 경우 (예: 01/02/2024), 도구는 컨텍스트 단서를 사용하여 형식을 결정합니다.
  • "2038년 문제"는 Unix 초에 부호 있는 정수를 사용하는 32비트 시스템에 영향을 미칩니다.

이해하기 날짜/시간 변환기

Unix 타임스탬프는 Unix 에포크(1970년 1월 1일 00:00:00 UTC) 이후 경과한 초 수로 특정 시점을 나타냅니다. 이 간단한 정수 표현은 데이터베이스, API, 파일 시스템, 로그 파일, 운영체제 인터페이스에서 사용되는 컴퓨팅의 보편적 시간 형식입니다. 이 형식은 모호하지 않습니다 — 사람이 읽을 수 있는 날짜와 달리, Unix 타임스탬프는 시간대에 관계없이 항상 정확히 하나의 시점을 가리킵니다.

두 가지 정밀도 수준이 일반적입니다. 초 정밀도 타임스탬프(10자리, 예: 1738800000)는 대부분의 Unix API, 데이터베이스, C의 time() 함수에서 사용되는 전통적인 Unix 형식입니다. 밀리초 정밀도 타임스탬프(13자리, 예: 1738800000000)는 JavaScript(Date.now()), Java(System.currentTimeMillis()), 많은 웹 API에서 사용됩니다. 이 도구는 정밀도를 자동으로 감지하고 둘 다 올바르게 처리합니다.

ISO 8601은 표준 사람이 읽을 수 있는 날짜-시간 형식입니다: 2025-02-05T12:00:00Z. T는 날짜와 시간을 구분하고, Z는 UTC(줄루 시간)를 나타냅니다. 시간대 오프셋은 +HH:MM 또는 -HH:MM 표기법을 사용합니다. ISO 8601은 JSON Schema에서 요구되며, REST API에서 널리 사용되고, 모든 날짜-시간 문자열 교환에 권장됩니다. RFC 2822 형식(이메일 헤더에서 사용)은 또 다른 일반적인 텍스트 표현입니다.

시간대 처리는 날짜-시간 버그의 가장 흔한 원인입니다. 개발자들은 종종 UTC 타임스탬프와 현지 시간을 혼동하거나, 시간대 변환을 잘못 적용하거나, 시간대 정보 없이 현지 시간을 저장합니다. 모범 사례는 항상 UTC로 시간을 저장하고 전송하며, 표시할 때만 현지 시간으로 변환하는 것입니다.

Unix 타임스탬프를 32비트 부호 있는 정수로 저장하는 시스템은 2038년 1월 19일 03:14:07 UTC에 오버플로우가 발생하여 1901년 12월을 나타내는 음수로 전환됩니다. 이는 Y2K와 유사하지만 컴퓨팅 인프라에 더 광범위하게 영향을 미칩니다. 해결책은 64비트 정수를 사용하여 범위를 수십억 년으로 확장하는 것입니다. 대부분의 최신 시스템은 이미 64비트 시간을 사용하지만, 임베디드 시스템과 레거시 코드는 여전히 취약할 수 있습니다.

날짜를 타임스탬프와 포맷된 문자열 중 어떤 것으로 저장할지 선택할 때는 사용 사례를 고려하세요. 타임스탬프(정수)는 정렬, 기간 계산, 날짜 비교와 같은 계산 집약적 시나리오에 이상적입니다 — 컴팩트하고 모호하지 않으며 시간대에 중립적입니다. ISO 8601 문자열은 사람의 가독성이 중요하거나, 시간대 컨텍스트를 보존해야 하거나, 데이터베이스에 네이티브 datetime 타입이 있을 때 더 적합합니다. 예를 들어 PostgreSQL의 timestamptz는 내부적으로 UTC를 저장하고 표시할 때 변환합니다.

날짜가 하루 차이나는 것처럼 보이는 경우는 거의 항상 시간대 혼동에 의해 발생합니다. 2월 5일 23:00 UTC의 UTC 타임스탬프는 UTC+2 시간대에서는 이미 2월 6일입니다. JavaScript에서 Date()는 날짜만 있는 문자열에는 현지 시간을 사용하지만, 시간대 지정자가 있는 datetime 문자열에는 UTC를 사용합니다. 시간대를 명시적으로 지정하고 저장과 전송에 UTC를 일관되게 사용하면 이러한 미묘한 버그를 방지할 수 있습니다.

← 전체 도구로 돌아가기