Unixタイムスタンプ変換
Unixタイムスタンプを日付に変換し、日付から秒またはミリ秒のタイムスタンプも計算できます。日付のタイムゾーンを選んでください。表示する地域を変えても、タイムスタンプが表す時点は同じです。
対応する範囲はUTCで1900~2100年です。秒は小数点以下3桁まで、ミリ秒は整数で入力します。現在時刻は端末の時計を使い、ネットワーク経由の時刻同期は行いません。
Unixタイムスタンプの変換方法
- 日付のタイムゾーンをUTC、台北、東京、端末のタイムゾーンから選びます。
- タイムスタンプを日付に変換する場合は、秒またはミリ秒を選び、数値を入力して「日付に変換」を押します。
- 日付から変換する場合はYYYY-MM-DD HH:mm:ssで入力します。必要なら末尾に.SSSでミリ秒を3桁まで加え、「タイムスタンプに変換」を押します。
- 結果には秒、ミリ秒、UTC、選択したタイムゾーンの日付が表示されます。入力や設定を変えたら、もう一度変換してください。
秒・ミリ秒とタイムゾーンの違い
秒とミリ秒は同じUnixエポックから数えます。違うのは単位です。秒は小数点以下3桁まで、ミリ秒は整数で入力します。桁数だけで単位を推測せず、元データの説明を確認してください。
タイムゾーンを変えても時点は変わらず、表示する日時だけが変わります。時計の切り替えで入力した時刻が存在しない、または重複する場合は、日時を直すか表示された候補を選びます。
関連ツール
タイムスタンプを含むJSONの確認には、次のツールも使えます:JSON整形・構文チェック
Unixタイムスタンプを日付に変換するときの見方
ツールに戻る値が秒かミリ秒かを確認する
タイムスタンプには秒で記録された値と、ミリ秒で記録された値があります。数字だけでは元の単位を判断できません。変換する前に、項目の説明や出力元の仕様を確認してください。このツールでは桁数から推測せず、秒かミリ秒かを選んで入力します。
たとえば、2024-01-01 00:00:00 UTCはUnixエポックから1,704,067,200秒後です。同じ時点をミリ秒で表すと1,704,067,200,000になります。1秒は1,000ミリ秒なので、ミリ秒の値は秒の値の1,000倍です。
秒は小数点以下3桁まで入力でき、ミリ秒単位の精度を保てます。ミリ秒は整数で入力してください。負の値は1970-01-01 00:00:00 UTCより前の時点を表します。数字を短くするために末尾を削ると、必要な精度まで失うことがあります。
| 入力単位 | 値 | UTCでの日付 |
|---|---|---|
| 秒 | 1704067200 | 2024-01-01 00:00:00 |
| ミリ秒 | 1704067200000 | 2024-01-01 00:00:00 |
| エポックより前(秒) | -1 | 1969-12-31 23:59:59 |
同じタイムスタンプでも、地域によって時刻が変わる
Unixタイムスタンプは特定の時点を表します。タイムゾーンは、その時点を日付・時刻・UTCオフセットに置き換えて表示するために使います。タイムゾーンを変えると日付と時刻は変わりますが、タイムスタンプが示す時点は変わりません。
タイムスタンプ0はUTCで1970-01-01 00:00:00です。同じ時点を台北では08:00、東京では09:00と表示します。ログの時刻が一致しないときは、記録が食い違うと決めつける前に、単位とタイムゾーンをそろえてみてください。
日付から変換する場合は、その時刻を使う地域のタイムゾーンを選びます。東京での予定時刻なら、東京を選んで入力してください。タイムゾーンの規則はブラウザーが持つデータを使うため、過去や将来の日付はデータのバージョンによって表示が異なる場合があります。
| タイムゾーン | 現地の日付と時刻 | Unixタイムスタンプ |
|---|---|---|
| UTC | 1970-01-01 00:00:00 | 0秒 |
| 台北(UTC+08:00) | 1970-01-01 08:00:00 | 0秒 |
| 東京(UTC+09:00) | 1970-01-01 09:00:00 | 0秒 |
時計の切り替えで、時刻が飛んだり重複したりする
一部のタイムゾーンでは、時計を進めたり戻したりします。時計を進めると、現地で存在しない時刻ができます。たとえばニューヨークでは、2024-03-10の02:30はありません。このツールは存在しない時刻をエラーにするため、その地域で実際にあった時刻に直してください。
時計を戻したときは、同じ現地時刻が2回現れることがあります。ニューヨークでは2024-11-03の01:30が、UTC−04:00とUTC−05:00でそれぞれ1回ずつあります。対応するUnixタイムスタンプは1,730,611,800秒と1,730,615,400秒です。どちらの時点かを指定するため、先に現れる時刻か後に現れる時刻を選びます。
この選択が必要なのは、地域の日時からタイムスタンプに変換するときです。タイムスタンプから日付へ変換する場合は、もとの時点が一つに決まっているため、選択したタイムゾーンで表示できます。
| 選択 | 現地時刻とUTCオフセット | Unixタイムスタンプ(秒) |
|---|---|---|
| 先に現れる時刻 | 2024-11-03 01:30、UTC−04:00 | 1730611800 |
| 後に現れる時刻 | 2024-11-03 01:30、UTC−05:00 | 1730615400 |
対応範囲と現在時刻の取得元を確認する
タイムスタンプの対応範囲は、UTCの1900-01-01 00:00:00から2100-12-31 23:59:59.999までです。入力する日付も1900~2100年の範囲で指定してください。範囲外になる場合は別の日付を使うか、より広い範囲に対応した方法を選んでください。
このツールが扱う精度はミリ秒までで、うるう秒は表しません。現在のタイムスタンプは端末の時計を使い、ネットワーク時刻とのずれは確認しません。ログを記録した時計が正確だったかどうかは、変換だけでは判断できません。
入力と結果はブラウザー内で処理され、アップロードや自動保存はされません。ページを再読み込みすると消去されます。タイムゾーンの規則はブラウザーのデータに基づき、そのデータが更新されると表示が変わる場合があります。
参考資料
- MDN:Unix timeUnixエポック、一般的な秒単位のタイムスタンプ、Web上で使われるミリ秒、うるう秒の扱いを説明しています。
- MDN:Date.now()Date.now()が1970-01-01 00:00:00 UTCからの経過ミリ秒を返すことを説明しています。
- TC39 Temporal:タイムゾーンと曖昧な時刻の解決タイムゾーンのオフセットが変わると、存在しない時刻や重複する時刻ができることを説明しています。このページの変換機能はTemporalではなく、既存のブラウザーのDateとIntlを使います。
更新日