Unix 타임스탬프 변환기
Unix 타임스탬프를 사람이 읽을 수 있는 날짜로 변환
현재 Unix 타임스탬프
1774458445
Wed, 25 Mar 2026 17:07:25 GMT
Unix 타임스탬프란?
Unix 타임스탬프(에포크 시간 또는 POSIX 시간이라고도 함)는 1970년 1월 1일 00:00:00 UTC 이후 경과한 초(second)의 수입니다. 이 날짜를 Unix 에포크라고 합니다. 매초가 지날 때마다 카운터가 1씩 증가하여 모든 시점을 하나의 정수로 표현할 수 있습니다. Unix 타임스탬프 변환기는 이 정수와 ISO 8601, RFC 2822, 또는 로케일별 문자열 같은 사람이 읽을 수 있는 날짜 형식 사이를 변환합니다.
Unix 타임스탬프는 컴퓨팅에서 시간을 표현하는 표준 방식입니다. 데이터베이스는 created_at 및 updated_at 컬럼을 정수 또는 밀리초 타임스탬프로 저장합니다. API 응답에는 캐시 헤더(Expires, Last-Modified), JWT 클레임(iat, exp, nbf), 이벤트 로그의 타임스탬프가 포함됩니다. nginx, syslog, 애플리케이션 프레임워크의 로그 파일도 모두 에포크 시간을 사용합니다. 이 형식은 항상 UTC를 기준으로 하므로 시간대나 일광 절약 시간 오프셋으로 인한 오해가 발생하지 않습니다.
타임스탬프와 날짜를 수동으로 변환하는 것은 오류가 발생하기 쉽습니다. 1711324800 같은 값만 봐서는 어떤 날짜를 나타내는지 직관적으로 알 수 없습니다. 이 도구는 Unix 타임스탬프를 사람이 읽을 수 있는 날짜로, 반대로 날짜를 타임스탬프로 변환합니다. JWT exp 클레임을 확인하거나, 데이터베이스 쿼리를 디버깅하거나, 로그 타임스탬프를 분석할 때 10자리(초)와 13자리(밀리초) 값을 자동으로 처리합니다.
이 타임스탬프 변환기를 사용하는 이유
로그, 데이터베이스, API 응답에서 원시 Unix 타임스탬프를 읽으려면 에포크 계산을 암기하거나 임시 코드를 작성해야 합니다. 이 변환기는 별도 설정 없이 브라우저에서 바로 처리합니다. JWT 만료 시간을 디코딩하거나, 로그 라인을 분석하거나, 데이터베이스 TTL을 설정할 때 한 번의 클릭으로 결과를 확인할 수 있습니다. 10자리 초 타임스탬프인지 13자리 밀리초 타임스탬프인지 자동으로 감지하므로 1000으로 나눌 필요가 없습니다. 모든 처리는 브라우저에서 로컬로 실행되어 내부 시스템이나 민감한 로그의 타임스탬프가 외부로 전송되지 않습니다.
타임스탬프 변환기 활용 사례
Unix 타임스탬프 참조 표
아래 표는 잘 알려진 Unix 타임스탬프와 해당 날짜를 보여줍니다. 이 값들은 빠른 검증, 테스트, 32비트 및 64비트 타임스탬프 범위 이해에 유용합니다.
| 타임스탬프 | 날짜 (UTC) | 비고 |
|---|---|---|
| 0 | Jan 1, 1970 00:00:00 UTC | Unix epoch start |
| 86400 | Jan 2, 1970 00:00:00 UTC | Exactly 1 day |
| 946684800 | Jan 1, 2000 00:00:00 UTC | Y2K |
| 1000000000 | Sep 9, 2001 01:46:40 UTC | 10-digit milestone |
| 1234567890 | Feb 13, 2009 23:31:30 UTC | Ascending digits |
| 1700000000 | Nov 14, 2023 22:13:20 UTC | Recent 10-digit |
| 2000000000 | May 18, 2033 03:33:20 UTC | Next 10-digit milestone |
| 2147483647 | Jan 19, 2038 03:14:07 UTC | Y2038 (signed 32-bit max) |
| 4102444800 | Jan 1, 2100 00:00:00 UTC | Next century |
날짜 및 시간 형식 비교
서로 다른 시스템과 표준은 동일한 시점을 다양한 문자열 형식으로 표현합니다. 아래 표는 API, 로그, 데이터베이스에서 자주 접하는 가장 일반적인 형식을 비교합니다.
| 형식 | 예시 | 비고 |
|---|---|---|
| Unix (seconds) | 1711324800 | Integer, no timezone info |
| Unix (milliseconds) | 1711324800000 | Used by JavaScript Date.now() |
| ISO 8601 | 2024-03-25T00:00:00Z | Machine-readable, includes timezone |
| RFC 2822 | Mon, 25 Mar 2024 00:00:00 +0000 | Email and HTTP headers |
| UTC string | Mon, 25 Mar 2024 00:00:00 GMT | Date.prototype.toUTCString() |
| Human readable | March 25, 2024, 12:00:00 AM | Locale-dependent, display only |
코드 예제
작업 중인 언어에서 Unix 타임스탬프와 날짜 사이를 변환하는 방법입니다. 각 예제는 타임스탬프→날짜, 날짜→타임스탬프의 양방향을 보여줍니다.
// Current Unix timestamp in seconds
Math.floor(Date.now() / 1000) // → 1711324800
// Unix timestamp to Date object
const date = new Date(1711324800 * 1000)
date.toISOString() // → "2024-03-25T00:00:00.000Z"
date.toUTCString() // → "Mon, 25 Mar 2024 00:00:00 GMT"
// Date string to Unix timestamp
Math.floor(new Date('2024-03-25T00:00:00Z').getTime() / 1000)
// → 1711324800
// Millisecond timestamps (common in JS APIs)
Date.now() // → 1711324800000 (ms)
Date.parse('2024-03-25') // → 1711324800000 (ms)import time
from datetime import datetime, timezone
# Current Unix timestamp
int(time.time()) # → 1711324800
# Unix timestamp to datetime
dt = datetime.fromtimestamp(1711324800, tz=timezone.utc)
dt.isoformat() # → '2024-03-25T00:00:00+00:00'
dt.strftime('%Y-%m-%d %H:%M:%S %Z') # → '2024-03-25 00:00:00 UTC'
# Datetime string to Unix timestamp
dt = datetime.fromisoformat('2024-03-25T00:00:00+00:00')
int(dt.timestamp()) # → 1711324800
# Parse RFC 2822 dates (from email headers)
from email.utils import parsedate_to_datetime
parsedate_to_datetime('Mon, 25 Mar 2024 00:00:00 +0000').timestamp()
# → 1711324800.0package main
import (
"fmt"
"time"
)
func main() {
// Current Unix timestamp
now := time.Now().Unix() // → 1711324800
// Unix timestamp to time.Time
t := time.Unix(1711324800, 0).UTC()
fmt.Println(t.Format(time.RFC3339))
// → 2024-03-25T00:00:00Z
// Parse a date string to Unix timestamp
parsed, _ := time.Parse(time.RFC3339, "2024-03-25T00:00:00Z")
fmt.Println(parsed.Unix())
// → 1711324800
// Millisecond timestamp
ms := time.Now().UnixMilli() // → 1711324800000
fmt.Println(now, ms)
}# Current Unix timestamp date +%s # → 1711324800 # Convert timestamp to human-readable date (GNU date) date -d @1711324800 # → Mon Mar 25 00:00:00 UTC 2024 # Convert timestamp to ISO 8601 date -d @1711324800 --iso-8601=seconds # → 2024-03-25T00:00:00+00:00 # macOS (BSD date) — slightly different flags date -r 1711324800 # → Mon Mar 25 00:00:00 UTC 2024 # Date string to timestamp (GNU date) date -d "2024-03-25 00:00:00 UTC" +%s # → 1711324800