URLをコピーしました!
スキルアップを始める!

【GAS】エポック(Epoch)とは?Unixエポックの基本と使用例について

GAS(GoogleAppsScript)
\ワードプレスのスキルアップはこちら!/ WordPress入門読本

エポック(Epoch)とは

エポック(Epoch)は、時間を計測するための基準となる特定の瞬間を指します。

コンピュータサイエンスの文脈では、通常、1970年1月1日 00:00:00 UTC(協定世界時)をエポックとして使用します。これをUnixエポックとも呼ばれます。エポックは、時間の経過を単純な数値として表現するための基準として機能します。

Google Apps Script(GAS)などのプログラミング言語やプラットフォームでは、時間を表すためにUnixエポックがよく使用されます。これにより、時刻の比較や計算が相対的かつ一貫して行えます。

Unixエポックからの経過ミリ秒数を取得する

GASでは、特に Date オブジェクトが時間を扱う際に使われます。例えば、以下のようにしてUnixエポックからの経過ミリ秒数を取得できます。

var epoch = new Date(0); // Unixエポックを表すDateオブジェクト

// epochからの経過ミリ秒数をログに出力
Logger.log(epoch.getTime());

情報	0.0

この例では、getTime() メソッドを使用してUnixエポックからの経過ミリ秒数を取得しています。この値は通常、エポックからの経過ミリ秒数として表現され、他の日時と比較することができます。

Unixエポックを使った計算例

Unixエポックを使った計算の具体例を示します。Unixエポックは1970年1月1日 00:00:00 UTCを基準としており、それを元にして経過時間をミリ秒単位で表現します。

以下は、Unixエポックからの経過時間を使用して、ある日時と別の日時の差を計算する例です。例として、エポックからの経過時間を取得し、それを使って2つの異なる日時の差を計算しています。

function calculateTimeDifference() {
  // ある日時を指定
  var date1 = new Date('2023-01-01T12:00:00Z'); // UTC時間

  // 別の日時を指定
  var date2 = new Date('2023-01-05T15:30:00Z'); // UTC時間

  // Unixエポックからの経過時間を取得
  var epoch = new Date(0);
  var epochTime = epoch.getTime();

  // それぞれの日時からの経過時間を取得
  var time1 = date1.getTime() - epochTime;
  var time2 = date2.getTime() - epochTime;

  // 経過時間をログに出力
  Logger.log('日時1からの経過時間: ' + time1 + ' ミリ秒');
  Logger.log('日時2からの経過時間: ' + time2 + ' ミリ秒');

  // 2つの日時の差を計算
  var timeDifference = time2 - time1;

  // 差をログに出力
  Logger.log('日時1と日時2の差: ' + timeDifference + ' ミリ秒');
}

// 関数を実行
calculateTimeDifference();

情報	日時1からの経過時間: 1672574400000 ミリ秒
情報	日時2からの経過時間: 1672932600000 ミリ秒
情報	日時1と日時2の差: 358200000 ミリ秒

この例では、date1date2の2つの日時を指定し、それぞれの日時からUnixエポックまでの経過時間を取得しています。そして、それらの経過時間の差を計算しています。取得された経過時間はミリ秒単位であり、これにより日時の差を簡単に計算できます。最終的に、差をログに出力しています。

まとめ

JavaScriptやGoogle Apps Scriptなどの多くのプログラミング言語やプラットフォームでは、Unixエポックからの経過時間をミリ秒単位で表すことが一般的です。これにより、日時の比較や計算が相対的かつ一貫して行えます。Unixエポックからの経過時間は、通常、Date オブジェクトの getTime() メソッドを使用して取得され、得られた値はミリ秒単位の経過時間を表します。

例えば、Unixエポックからの経過時間を使用して、2つの異なる日時の差を計算することができます。これにより、日時の比較や操作が簡単に行え、時刻データの処理が効果的に行えます。

Kindle Unlimited 会員は無料で購読できます
購読はこちら
Kindle Unlimited 会員は無料で購読できます
購読はこちら