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

タイムスタンプから日付への変換ツール
タイムスタンプ → 日付
日付 → タイムスタンプ
現在のタイムスタンプ
変換結果:
変換結果:
現在のタイムスタンプ:

UNIXタイムスタンプとは?

UNIXタイムスタンプは、1970年1月1日00:00:00 UTC(協定世界時)からの経過秒数を表します。これはコンピュータシステムで広く使用されている時間表現方法です。

注意事項:

  • タイムスタンプはUTC(協定世界時)を基準としています。
  • 表示される日時はお使いのブラウザのタイムゾーン設定に基づいています。
  • 2038年1月19日03:14:07 UTCを超えるタイムスタンプは、32ビットシステムでは正確に表現できない場合があります(2038年問題)。

よく使われるタイムスタンプと日付の変換例

UNIXタイムスタンプ(秒) 日付(日本時間) 説明
0 1970年1月1日 09:00:00 UNIXエポック(基準時点)
1000000000 2001年9月9日 10:46:40 10億秒の節目
1234567890 2009年2月14日 08:31:30 連続する数字のタイムスタンプ
1500000000 2017年7月14日 19:40:00 15億秒の節目
1577836800 2020年1月1日 09:00:00 2020年の始まり
1609459200 2021年1月1日 09:00:00 2021年の始まり
1640995200 2022年1月1日 09:00:00 2022年の始まり
1672531200 2023年1月1日 09:00:00 2023年の始まり
1704067200 2024年1月1日 09:00:00 2024年の始まり
2147483647 2038年1月19日 12:14:07 32ビット符号付き整数の最大値(2038年問題)

タイムスタンプと日付の変換方法

UNIXタイムスタンプは、1970年1月1日 00:00:00 UTC(協定世界時)からの経過秒数を表します。この時間表現方法は、コンピュータシステムやデータベースで広く使用されています。

タイムスタンプから日付への変換

UNIXタイムスタンプから日付に変換するには、以下の手順で計算します:

  1. タイムスタンプに1000を掛けてミリ秒に変換します(JavaScriptのDate関数用)
  2. その値を使用してDate型のオブジェクトを作成します
  3. 必要に応じて、日付関数を使用して年、月、日などの値を取得します
// JavaScriptでの変換例 const timestamp = 1640995200; // 2022年1月1日のタイムスタンプ const date = new Date(timestamp * 1000); // 日付の各部分を取得 const year = date.getFullYear(); const month = date.getMonth() + 1; // 月は0から始まるため+1する const day = date.getDate(); const hours = date.getHours(); const minutes = date.getMinutes(); const seconds = date.getSeconds(); // フォーマットされた日付文字列 const formattedDate = `${year}年${month}月${day}日 ${hours}時${minutes}分${seconds}秒`;

日付からタイムスタンプへの変換

逆に、日付からUNIXタイムスタンプに変換するには、以下の手順で計算します:

  1. 指定された日付と時刻でDateオブジェクトを作成します
  2. getTime()メソッドを使用してミリ秒単位のタイムスタンプを取得します
  3. 1000で割って秒単位のUNIXタイムスタンプに変換します
// JavaScriptでの変換例 const year = 2022; const month = 1; // 1月 const day = 1; const hours = 0; const minutes = 0; const seconds = 0; // Dateオブジェクトを作成(月は0から始まるため、1を引く) const date = new Date(year, month – 1, day, hours, minutes, seconds); // UNIXタイムスタンプ(秒)に変換 const timestamp = Math.floor(date.getTime() / 1000);

タイムゾーンの考慮

UNIXタイムスタンプはUTC(協定世界時)を基準としています。日本時間(JST)はUTCより9時間進んでいるため、日本時間の日付をタイムスタンプに変換する際や、タイムスタンプを日本時間で表示する際には、このタイムゾーンの違いを考慮する必要があります。

JavaScriptのDateオブジェクトはブラウザのローカルタイムゾーン設定に基づいて動作するため、日本のブラウザでは自動的に日本時間で表示されます。しかし、サーバーサイドのプログラムやタイムゾーンが異なる環境では、明示的にタイムゾーンを指定する必要がある場合があります。

データベースでのタイムスタンプ変換

多くのデータベースシステムでは、タイムスタンプと日付形式の間で変換するための関数が提供されています:

SQLでの変換例:

— タイムスタンプから日付への変換(MySQL) SELECT FROM_UNIXTIME(1640995200); — 日付からタイムスタンプへの変換(MySQL) SELECT UNIX_TIMESTAMP(‘2022-01-01 00:00:00’); — タイムスタンプから日付への変換(PostgreSQL) SELECT to_timestamp(1640995200); — 日付からタイムスタンプへの変換(PostgreSQL) SELECT extract(epoch from timestamp ‘2022-01-01 00:00:00’);

Snowflakeでのタイムスタンプ変換

Snowflakeデータベースでは、TO_DATE関数とTO_TIMESTAMP関数を使用してタイムスタンプと日付の変換を行うことができます:

— 文字列から日付への変換 SELECT TO_DATE(‘2022-01-01’); — タイムスタンプから日付への変換 SELECT TO_DATE(TO_TIMESTAMP(1640995200)); — 日付からタイムスタンプへの変換 SELECT DATE_PART(‘epoch’, TO_TIMESTAMP(‘2022-01-01 00:00:00’));

タイムスタンプの活用場面

タイムスタンプは以下のような場面で活用されています:

  • データベースでのレコード作成・更新時刻の記録
  • ログファイルのイベント時刻記録
  • セッション管理やトークンの有効期限設定
  • 異なるタイムゾーンにまたがるシステム間での時刻の一貫した表現
  • 時系列データの保存と分析

タイムスタンプは単なる整数値であるため、日付の比較や計算が容易であり、ストレージ効率も良いというメリットがあります。特にグローバルに展開されるシステムやサービスでは、タイムゾーンの違いによる混乱を避けるために、内部的にはタイムスタンプで時刻を管理し、表示時に各ユーザーのローカルタイムゾーンに変換するという方法がよく採用されています。

上部へスクロール