블로그로 돌아가기
timestamp 2025-01-13

Unix 타임스탬프 완벽 가이드

Unix 타임스탬프와 시간 처리에 대해 알아야 할 모든 것.

Unix 타임스탬프는 시간을 초의 누적 합계로 추적하는 방법입니다.

Unix 타임스탬프란?

Unix 타임스탬프(Epoch 시간이라고도 함)는 1970년 1월 1일 00:00:00 UTC 이후 경과한 초의 수입니다.

현재 타임스탬프: 이 글을 읽을 때 아마 1700000000+ 정도일 것입니다.

왜 Unix 타임스탬프를 사용할까요?

1. 범용성: 시간대와 관계없이 동일한 값

2. 단순함: 단순한 숫자, 저장과 비교가 쉬움

3. 정밀함: 밀리초 포함 가능

4. 정렬 가능: 숫자는 자연스럽게 정렬됨

일반적인 변환

JavaScript

// 현재 타임스탬프 (초)

Math.floor(Date.now() / 1000)

// 현재 타임스탬프 (밀리초)

Date.now()

// 타임스탬프를 Date로

new Date(timestamp * 1000)

// Date를 타임스탬프로

Math.floor(date.getTime() / 1000)

Python

import time

from datetime import datetime

현재 타임스탬프

time.time()

타임스탬프를 datetime으로

datetime.fromtimestamp(timestamp)

datetime을 타임스탬프로

datetime.timestamp(dt)

2038년 문제

32비트 시스템은 타임스탬프를 부호 있는 32비트 정수로 저장합니다. 최대값(2,147,483,647)은 2038년 1월 19일 03:14:07 UTC를 나타냅니다.

해결책: 64비트 타임스탬프 사용

밀리초 vs 초

  • Unix 타임스탬프: 초 (10자리)
  • JavaScript Date.now(): 밀리초 (13자리)

API나 데이터베이스가 어떤 형식을 기대하는지 항상 확인하세요.

Timestamp Converter를 사용하여 형식 간 쉽게 변환하세요.