timestamp 2025-01-13
Unix タイムスタンプ完全ガイド
Unixタイムスタンプと時間処理について知っておくべきすべてのこと。
Unixタイムスタンプは、時間を秒の累積合計として追跡する方法です。
Unixタイムスタンプとは?
Unixタイムスタンプ(エポック時間とも呼ばれる)は、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やデータベースがどの形式を期待しているか常に確認してください。
タイムスタンプ変換ツールを使用して、形式間を簡単に変換できます。