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으로 나눌 필요가 없습니다. 모든 처리는 브라우저에서 로컬로 실행되어 내부 시스템이나 민감한 로그의 타임스탬프가 외부로 전송되지 않습니다.

즉시 변환
타임스탬프를 입력하거나 날짜를 선택하면 결과가 즉시 표시됩니다. 폼 제출이나 페이지 새로고침이 필요 없습니다. 초와 밀리초를 모두 지원합니다.
🔒
개인정보 보호 우선 처리
모든 변환은 JavaScript의 내장 Date 객체를 사용하여 브라우저에서 실행됩니다. 데이터가 기기를 벗어나지 않으므로 내부 시스템의 타임스탬프도 안전하게 처리됩니다.
🔄
양방향 변환
Unix 타임스탬프를 날짜로, 날짜를 타임스탬프로 변환합니다. 어느 방향으로든 값을 입력하면 도구를 전환하지 않고도 대응하는 결과를 얻을 수 있습니다.
🌐
다양한 출력 형식
UTC, 로컬 시간, ISO 8601, 상대 시간을 동시에 확인할 수 있습니다. 원하는 형식을 클릭 한 번으로 복사하세요.

타임스탬프 변환기 활용 사례

프론트엔드 개발
REST API 응답의 타임스탬프를 디코딩하여 날짜 표시가 시간대별로 올바르게 렌더링되는지 확인합니다. API가 초를 반환하는지 밀리초를 반환하는지 파악하세요.
백엔드 엔지니어링
쿼리 디버깅 시 데이터베이스 타임스탬프를 변환합니다. 마이그레이션이나 시간대 변경 후 created_at, updated_at, expires_at 값이 예상 날짜와 일치하는지 검증하세요.
DevOps / SRE
로그 파일, 모니터링 대시보드(Grafana, Datadog), 알림 시스템의 에포크 값을 변환하여 장애가 시작된 시점이나 배포가 완료된 시점을 정확히 파악합니다.
QA 및 테스트
테스트 픽스처용 특정 타임스탬프를 생성합니다. 토큰 만료, 캐시 TTL, 예약 작업 같은 시간 의존적 기능이 정확한 시점에 트리거되는지 검증하세요.
데이터 엔지니어링
PostgreSQL, MySQL, 또는 데이터 웨어하우스에서 내보낸 원시 데이터를 검사할 때 타임스탬프 컬럼을 변환합니다. ETL 파이프라인이 시간대 정보를 올바르게 보존하는지 확인하세요.
학습 및 교육
컴퓨터가 내부적으로 시간을 표현하는 방식을 이해합니다. Y2038 문제, 1970년 이전 날짜의 음수 타임스탬프, 밀리초 정밀도 같은 엣지 케이스를 실험해 보세요.

Unix 타임스탬프 참조 표

아래 표는 잘 알려진 Unix 타임스탬프와 해당 날짜를 보여줍니다. 이 값들은 빠른 검증, 테스트, 32비트 및 64비트 타임스탬프 범위 이해에 유용합니다.

타임스탬프날짜 (UTC)비고
0Jan 1, 1970 00:00:00 UTCUnix epoch start
86400Jan 2, 1970 00:00:00 UTCExactly 1 day
946684800Jan 1, 2000 00:00:00 UTCY2K
1000000000Sep 9, 2001 01:46:40 UTC10-digit milestone
1234567890Feb 13, 2009 23:31:30 UTCAscending digits
1700000000Nov 14, 2023 22:13:20 UTCRecent 10-digit
2000000000May 18, 2033 03:33:20 UTCNext 10-digit milestone
2147483647Jan 19, 2038 03:14:07 UTCY2038 (signed 32-bit max)
4102444800Jan 1, 2100 00:00:00 UTCNext century

날짜 및 시간 형식 비교

서로 다른 시스템과 표준은 동일한 시점을 다양한 문자열 형식으로 표현합니다. 아래 표는 API, 로그, 데이터베이스에서 자주 접하는 가장 일반적인 형식을 비교합니다.

형식예시비고
Unix (seconds)1711324800Integer, no timezone info
Unix (milliseconds)1711324800000Used by JavaScript Date.now()
ISO 86012024-03-25T00:00:00ZMachine-readable, includes timezone
RFC 2822Mon, 25 Mar 2024 00:00:00 +0000Email and HTTP headers
UTC stringMon, 25 Mar 2024 00:00:00 GMTDate.prototype.toUTCString()
Human readableMarch 25, 2024, 12:00:00 AMLocale-dependent, display only

코드 예제

작업 중인 언어에서 Unix 타임스탬프와 날짜 사이를 변환하는 방법입니다. 각 예제는 타임스탬프→날짜, 날짜→타임스탬프의 양방향을 보여줍니다.

JavaScript (browser / Node.js)
// 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)
Python
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.0
Go
package 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)
}
CLI (date / bash)
# 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

자주 묻는 질문

초 단위와 밀리초 단위 Unix 타임스탬프의 차이는 무엇인가요?
초 단위 Unix 타임스탬프는 10자리 정수(2286년 11월까지)이며, 밀리초 타임스탬프는 13자리입니다. JavaScript의 Date.now()는 밀리초를 반환합니다. 대부분의 Unix 커맨드라인 도구와 Python의 time.time()은 초를 반환합니다. 변환하려면 초에 1000을 곱하거나 밀리초를 1000으로 나누고 결과를 내림하세요.
Y2038 문제란 무엇인가요?
Unix 타임스탬프를 부호 있는 32비트 정수로 저장하는 시스템은 2038년 1월 19일 03:14:07 UTC에 오버플로우가 발생합니다. 부호 있는 32비트 정수가 저장할 수 있는 최댓값은 에포크 이후 2,147,483,647초입니다. 이후 값은 음수로 바뀌어 시스템이 1901년 12월의 날짜로 해석합니다. 현대 64비트 시스템은 64비트 정수를 사용하므로 영향을 받지 않습니다.
JavaScript에서 Unix 타임스탬프를 날짜로 변환하려면 어떻게 하나요?
타임스탬프에 1000을 곱해(JavaScript는 밀리초를 사용하므로) new Date 객체를 생성합니다: new Date(1711324800 * 1000). 그런 다음 .toISOString(), .toUTCString(), 또는 .toLocaleString()을 호출하여 원하는 형식을 얻습니다. 반대 방향으로는 Math.floor(new Date('2024-03-25').getTime() / 1000)을 사용하세요.
Unix 타임스탬프로 1970년 이전 날짜를 표현할 수 있나요?
가능합니다. Unix 에포크(1970년 1월 1일) 이전 날짜는 음의 정수로 표현됩니다. 예를 들어 1969년 12월 31일 23:59:59 UTC는 타임스탬프 -1입니다. 대부분의 현대 프로그래밍 언어는 음수 타임스탬프를 올바르게 처리하지만, 일부 오래된 시스템이나 데이터베이스는 지원하지 않을 수 있습니다.
API가 날짜 문자열 대신 Unix 타임스탬프를 사용하는 이유는 무엇인가요?
Unix 타임스탬프는 시간대에 독립적이고, 간결하며(25자 이상의 문자열 대신 단일 정수), 비교가 용이합니다. 정수를 이용한 정렬, 비교, 기간 계산은 날짜 문자열 파싱보다 빠릅니다. 또한 MM/DD/YYYY 대 DD/MM/YYYY 같은 로케일 의존적 형식의 모호함을 방지합니다.
커맨드라인에서 현재 Unix 타임스탬프를 얻으려면 어떻게 하나요?
Linux와 macOS에서는 date +%s를 실행하면 현재 타임스탬프를 초 단위로 출력합니다. PowerShell을 사용하는 Windows에서는 [DateTimeOffset]::UtcNow.ToUnixTimeSeconds()를 사용하세요. 두 명령 모두 Unix 에포크 이후 초의 정수를 반환합니다. Linux에서 밀리초 정밀도가 필요하면 date +%s%3N을 사용하여 밀리초 구성 요소를 직접 추가하세요.
타임스탬프에서 UTC와 GMT의 차이는 무엇인가요?
컴퓨팅에서 실용적인 목적으로는 UTC와 GMT가 동일한 시간을 가리킵니다. UTC(협정 세계시)는 원자시계로 정의된 현대 표준이며, GMT(그리니치 평균시)는 오래된 천문학적 표준입니다. Unix 타임스탬프는 항상 UTC를 기준으로 합니다. 형식화된 날짜 문자열에서 두 레이블이 모두 나타날 수 있지만 기본 값은 동일합니다.