レッスン 1
Unix タイムスタンプとは何か
Unix epoch からの経過時間として時刻を表す考え方を学びます。
Unix タイムスタンプは、1970-01-01 00:00:00 UTC からどれだけ時間が経過したかを数値で表す方法です。多くのシステムでは秒、JavaScript など一部の環境ではミリ秒で扱われます。
数値だけで時刻を表せるため、ログ、API、データベース、キャッシュ、キューなどで広く使われます。
秒とミリ秒
実務で最も多い混乱は単位です。
1690000000 // 秒
1690000000000 // ミリ秒
桁数が違うだけで、同じように見える値でも意味は大きく変わります。秒の値をミリ秒として扱うと 1970 年付近になり、ミリ秒の値を秒として扱うと遠い未来になります。
UTC が基準
Unix タイムスタンプ自体はタイムゾーンを持ちません。基準は UTC です。画面に表示するときに、ユーザーのローカル時刻や指定したタイムゾーンへ変換されます。
そのためログ調査では、保存されている値、表示された時刻、ユーザーのタイムゾーンを分けて確認する必要があります。