ブログに戻る
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やデータベースがどの形式を期待しているか常に確認してください。

タイムスタンプ変換ツールを使用して、形式間を簡単に変換できます。