スプレッドシートのEPOCHTODATE関数とは
EPOCHTODATE関数は、Unixエポックタイムスタンプを協定世界時(UTC)の日時形式に変換するGoogleスプレッドシート専用の関数です。この関数は秒、ミリ秒、またはマイクロ秒で表現されたタイムスタンプを扱うことができ、結果は常にUTC時間で表示されます。
基本構文はEPOCHTODATE(timestamp, [unit])の形式で記述し、timestampには変換したいUnixエポックタイムスタンプを指定します。単位パラメータはオプショナルで、1が秒(デフォルト)、2がミリ秒、3がマイクロ秒を表している仕様となっています。
【PR】プログラミングや生成AIを無料で学べる「コードキャンプフリー」
基本的な構文と単位指定
EPOCHTODATE関数の第一引数にはUnixエポックタイムスタンプを数値で入力し、第二引数で時間の単位を数値で指定します。単位の指定は1が秒、2がミリ秒、3がマイクロ秒に対応し、省略した場合は自動的に秒として処理されます。
=EPOCHTODATE(1655906568893, 2)
=EPOCHTODATE(1655906710)
=EPOCHTODATE(1656356678000410, 3)
関数実行時の注意点として、負の値のタイムスタンプは受け付けられず、エラーが発生することになります。ミリ秒の端数部分は自動的に切り捨てられ、結果はスプレッドシートのローカルタイムゾーンではなく必ずUTC時間で表示されます。
実際の使用例と変換結果
タイムスタンプ1655906568893をミリ秒として指定すると6/22/2022 14:02:49という日時に変換され、0を指定すると1/1/1970 0:00:00が返されます。これらの結果は全て協定世界時で表示されるため、日本時間への変換が必要な場合は別途時差の調整が求められます。
=EPOCHTODATE(1584033897, 1) // 結果: 3/12/2020 17:24:57
=EPOCHTODATE(0) // 結果: 1/1/1970 0:00:00
=EPOCHTODATE(1655906710) // 結果: 6/22/2022 14:05:10
内部的な計算処理では、タイムスタンプをミリ秒に変換してから1日のミリ秒数で割り、25,568を加算する方法で日時を算出しています。この計算方法により、1970年1月1日0時0分0秒を起点とするUnix時間から、スプレッドシートで認識可能な日時形式への正確な変換が実現されています。
※上記コンテンツの内容やソースコードはAIで確認・デバッグしておりますが、間違いやエラー、脆弱性などがある場合は、コメントよりご報告いただけますと幸いです。
ITやプログラミングに関するコラム
- Canvaとは?使い方やアカウント登録などを初心者向けに解説
- git configで設定情報を確認・表示する方法
- 「Pythonはやめとけ」と言われる理由と学習するメリット
- Ubuntuのversionを確認する方法
- Geminiで画像を生成する方法|ChatGPTとの比較結果も紹介