日付をUnixタイムスタンプに変換

3件中5件の評価
日付をUnixタイムスタンプに変換

日付をUnixタイムスタンプに変換は、指定された日付とタイムゾーンを、コード、API、データベース、ログで使えるUnixタイムスタンプに変換する無料ツールです。

Unixタイムスタンプとは?

Unixタイムスタンプは、Unixエポックと呼ばれる1970年1月1日00:00:00 UTCからの経過秒数を表す整数です。たとえば、エポックそのものはタイムスタンプ0で、それより後の日時は正の値になります。

Unixタイムスタンプを使うと、特定の時点をコンパクトかつプログラミング言語に依存しない形でシステム間に受け渡せます。また、10/09/2026のように、地域によって9月10日とも10月9日とも解釈される日付表記の曖昧さを避けられます。

タイムスタンプが表すのは特定の瞬間であり、書式付きのカレンダー日付ではありません。Europe/London、UTC、その他のタイムゾーンを示す情報もタイムスタンプ自体には含まれません。ただし、元の現地日時がどの瞬間を指すかはタイムゾーンによって決まるため、変換時にはタイムゾーンが重要です。

図解:2024年1月1日UTCがUnixタイムスタンプ1704067200に変換される

日付をUnixタイムスタンプに変換するには?

タイムゾーンを設定して変換し、返されたUnixタイムスタンプの値を必要なシステムで使用します。

  1. 必要なタイムゾーンを選びます。
  2. 変換を実行し、Unixタイムスタンプに表示された整数をコピーします。
  3. 値を入力する前に、受け取り側が秒とミリ秒のどちらを必要としているか確認します。
digily.link の日付をUnixタイムスタンプに変換ツールと入力フォーム

選択するタイムゾーンによって、結果が数時間変わることがあります。また、英国など夏時間を採用している地域では、日付によって差が変わります。Europe/Londonは冬季にはUTC、英国夏時間の期間中は通常UTC+1です。

日付をUnixタイムスタンプに変換する処理はサーバー上で行われます。入力したタイムゾーンはHTTPS経由でサーバーへ送信され、保存されません。

変換されたタイムスタンプの見方は?

結果は、Unixエポックからの経過秒数として読み取ります。区切り記号、タイムゾーンの接尾辞、人が読める日付情報は含まれません。現在に近い日付では10桁の値が一般的ですが、桁数だけでタイムスタンプが有効かどうかを判断することはできません。

連携時によく起こる問題は、秒とミリ秒の取り違えです。Unix系ツールや多くのサーバー側システムでは秒が使われます。一方、JavaScriptの日付APIでは一般にミリ秒を使うため、その場合は秒単位の値を1,000倍する必要があります。

  • 0は、1970年1月1日00:00:00 UTCを意味します。
  • より大きな正の整数は、より後の時点を表します。
  • 負のタイムスタンプはエポックより前の日付を表せますが、対応状況はアプリケーションやプラットフォームによって異なります。
  • 計算時に使用した元のタイムゾーンは、この数値には保持されません。

数値が返されても、意図したタイムゾーンが選ばれていたとは限りません。変換後の時刻が正しくないように見える場合は、まず選択したタイムゾーンを確認し、該当する地域では夏時間の規則も確認してください。値が1,000倍または1,000分の1ずれている場合は、必要な単位を確かめます。

日付変換の具体例

次の例を見ると、タイムゾーンによって表される瞬間がどう変わるか分かります。

1970年1月1日00:00:00 UTCは0に対応します。

2024年1月1日00:00:00 UTCは1704067200に対応します。

2024年7月1日12:00:00 Europe/Londonは1719831600に対応します。

最後の例ではロンドンが英国夏時間だったため、現地の正午は11:00 UTCに相当します。同じ表記上の時刻でも、タイムゾーンにUTCを使用すると別のタイムスタンプになります。

第三者から受け取ったデータでは、01/07/2024のような曖昧な表記より、2024年7月1日のように明確な日付か、ISO形式の2024-07-01を使用してください。出力は数字のみで、先頭にマイナス記号が付く場合があるだけなので、アクセント記号付き文字や非ラテン文字がタイムスタンプ自体に含まれることはありません。

日付をUnix時間に変換するのはどんなとき?

人が読める日付を、機械が正確に扱える特定の時点として比較、並べ替え、送信したいときに役立ちます。たとえば、APIレスポンスのデバッグ、デプロイ前のスケジュールジョブの準備、データベースレコードの確認、別のサービスから受け取った日付の解釈などに使えます。

  • リリース期限をデプロイ設定に追加する前に変換する。
  • アプリケーションのイベントをサーバーログのタイムスタンプと比較する。
  • 開始時刻と終了時刻をエポック秒で受け取るAPI向けに、クエリパラメーターを用意する。
  • CSVファイルから取り込んだ日付を、データベースへ保存する前に正規化する。
  • 第三者のWebhookがミリ秒ではなく秒を送信しているか確認する。

日付を読むのが人だけで、受け取り側のシステムが明確なISO 8601値に対応しているなら、変換する必要はありません。2026-09-10T14:30:00+01:00のような日付はUTCオフセットを保持しており、通常はデバッグ時にも確認しやすい形式です。同様に、すでにUnixタイムスタンプになっている値を繰り返し変換しても、新しい情報は得られません。

このツールは、APIスキーマの検証、スケジュールジョブが実行されることの確認、元のタイムゾーンの出力への保持には対応していません。タイムスタンプをカレンダー形式で確認するには、Unixタイムスタンプを日付に変換を使用してください。

よくある質問

日付や時刻を直接入力できますか?

いいえ。このツールでユーザーが入力する項目として案内されているのは、タイムゾーンだけです。

このツールはPHPのどの関数を使っていますか?

サーバー側の実装では、PHPのdate関数を呼び出しています。

2038年問題とは何ですか?

符号付き32ビットUnixタイムスタンプの最大値は2,147,483,647で、2038年1月19日03:14:07 UTCに相当します。現在のシステムでは64ビット値がよく使われますが、古いソフトウェア、ファイル形式、組み込み機器にはこの上限が残っている場合があります。遠い将来の日付を扱うときは、保存先のデータ型を確認してください。

Unixタイムスタンプはうるう秒に対応していますか?

一般的なPOSIXモデルのUnix時間では、うるう秒を独立した番号付きの秒として表しません。ほとんどのアプリケーションのスケジュール処理やログ記録では問題ありませんが、天文学や高精度の時刻計測といった専門用途では、別の時間標準が必要になることがあります。

結果を保存する前に何を確認すればよいですか?

タイムゾーン、夏時間の適用状況、受け取り側のシステムが必要とする単位を確認してください。そのうえで、デプロイや保存済みデータの更新を行う前に、そのシステム上でタイムスタンプを読める日付へ戻し、元の日付と比較します。

類似のツール

Unixタイムスタンプを日付に変換

UnixタイムスタンプをUTCおよびローカルの日付に変換するには、正確な時間変換のために当社のUnixタイムスタンプから日付への変換ツールを使用してください。

4,852
0

人気のツール