> タイムスタンプ | エポック | 変換 <
// Unixタイムスタンプと日付を瞬時に相互変換
リアルタイム時計
リアルタイムで更新されるUnixタイムスタンプ表示。現在のepoch時間をリアルタイムで確認。
双方向変換
タイムスタンプを読みやすい日付に、日付をタイムスタンプに変換。両方向対応。
複数フォーマット
ISO 8601、RFC 2822、UTC、ローカル時間、相対時間で結果を表示。
// UNIXタイムスタンプについて
Unixタイムスタンプの仕組み:
Unixタイムスタンプ(epoch時間またはPOSIX時間とも呼ばれる)は、1970年1月1日 00:00:00 UTC(Unixエポック)から経過した秒数を表します。このシンプルな整数値は、タイムゾーンに依存しない普遍的な時間表現方法を提供します。
例:
1711324800 → 2024-03-25T00:00:00.000Z
一般的な使用例:
- >データベースのタイムスタンプ保存とクエリ
- >APIレスポンスの時間フィールド
- >ログファイルのタイムスタンプ分析
- >時間関連の問題のデバッグ
- >タイムゾーン間の時間調整
- >Y2K38問題: 32ビット符号付き整数は2038年1月19日にオーバーフロー
>> よくある質問
Q: Unixタイムスタンプとは?
A: Unixタイムスタンプは1970年1月1日 00:00:00 UTCからの経過秒数です。コンピューティングで普遍的に使用されるシンプルな整数値です。
Q: エポック時間とは?
A: エポック時間はUnixタイムスタンプの別名です。「エポック」は基準点で1970年1月1日 00:00:00 UTCを指します。
Q: Y2038問題とは?
A: 2038年問題(Y2K38)は、多くのシステムがUnixタイムスタンプを32ビット符号付き整数で保存しており、2038年1月19日 03:14:07 UTCまでしか表現できないために発生します。
Q: 秒とミリ秒のタイムスタンプの違いは?
A: 秒単位のUnixタイムスタンプは10桁(例: 1711324800)、ミリ秒は13桁(例: 1711324800000)です。
Q: Unixタイムスタンプは負の値になれますか?
A: はい、負のUnixタイムスタンプは1970年1月1日以前の日付を表します。例えば、-86400は1969年12月31日を表します。
// タイムスタンプの桁数早見表
桁数を数えれば単位がわかります。秒とミリ秒の取り違えは、日付がおかしくなる最も多い原因です。
| 桁数 | 単位 | 例 | 主な利用元 |
|---|---|---|---|
| 10 | s | 1711324800 | Unix/Linux, PHP time(), Stripe |
| 13 | ms | 1711324800000 | JavaScript Date.now(), Java |
| 16 | µs | 1711324800000000 | Kafka, Cassandra |
| 19 | ns | 1711324800000000000 | Go UnixNano(), InfluxDB |
// コードで現在のタイムスタンプを取得
JavaScript Math.floor(Date.now() / 1000) Python int(time.time()) PHP time() Go time.Now().Unix() Java Instant.now().getEpochSecond() Ruby Time.now.to_i Bash date +%s
>> その他の質問
Q: Unixタイムスタンプは UTC ですか、ローカル時間ですか?
A: 常に UTC です。この整数はタイムゾーンを持たない絶対的な時刻で、日付として表示するときに初めてタイムゾーンが適用されます。保存は UTC、表示はローカル時間にしましょう。
Q: タイムスタンプが間違った日付になるのはなぜですか?
A: 多くは秒とミリ秒の取り違えです。13桁の値を秒として読むと西暦5万5千年頃、10桁の値をミリ秒として読むと1970年1月になります。タイムゾーン変換のほか、Windows の FILETIME や Excel のシリアル値でないかも確認してください。
Q: うるう秒は Unixタイムスタンプにどう影響しますか?
A: 影響しません。Unix時間は1日をちょうど86,400秒として数え、うるう秒を無視します(繰り返しまたは分散=リープスミア)。ほとんどの用途では十分で、科学的な計測には TAI を使います。
Q: Unix以外のエポックはありますか?
A: あります。NTP は 1900-01-01、Windows FILETIME は 1601-01-01(100ナノ秒刻み)、Excel は 1899-12-30 からの日数、Mac HFS+ は 1904-01-01 を使います。現在のUnix値から大きく外れている場合は、これらのいずれかかもしれません。