Unix タイムスタンプは 1970 年の始まりから流れた秒を数える値なので、コンピューターには便利で人には読めません。この変換ツールは双方向に働きます。ログの 1 行やデータベースの列、API のレスポンスから取った数値を貼れば日付が出て、日付を書けば数値が返ります。秒を貼ったのかミリ秒を貼ったのかも自動で見分けます。答えが 1,000 倍ずれるよくある原因がそれです。同じ瞬間を ISO・UTC・ご自身の現地時刻で一度に示し、今からどれだけ離れているかも添えます。
桁数で見分けます。2001 年から 2286 年のあいだなら、秒のタイムスタンプは 10 桁、同じ瞬間をミリ秒で書くと 13 桁になります。この道具はそれで自動的に切り替え、どちらを選んだかを示すので、値が特殊なときは直せます。
タイムスタンプは壁の時計ではなく一つの瞬間を記録するからです。同じ数値がロンドンでは 9 時、ソウルでは 18 時になります。現地時刻の行は端末のタイムゾーンを使い、UTC と ISO の行はどこでも同じです。ログや API がそれを使う理由です。
タイムスタンプを符号付き 32 ビット整数に収めているシステムは、2038 年 1 月 19 日に桁が足りなくなり負の数へ回り込みます。64 ビットに収めているもの——このページを含め、今ではほとんどがそうです——は宇宙の年齢より長く問題ありません。
扱えます。その場合は負のタイムスタンプで、基準点から逆に数えた秒になり、ここで正しく変換されます。
されません。ほかの Unix タイムスタンプも同じです。この数え方はどの日もちょうど 86,400 秒だとあえて見なします。だから変換が簡単なままで、同時に天文時刻から数秒ずれていきます。