UNIX時間(UNIX time/UNIX時刻/ユニックス時間)の変換方法〜Google Apps Script〜

UNIX時間(UNIX time/UNIX時刻/ユニックス時間)の変換方法 メモ

はじめに

この記事では、UNIX時間(UNIX time/UNIX時刻/ユニックス時間 など、以下、UNIX時間で統一して表記します。)とは何か、Google Apps Script(以下、GAS)での変換方法(協定世界時 → UNIX時間 / UNIX時間 → 協定世界時)をお伝えします。

UNIX時間とは、コンピュータシステム上の時刻標記の1つです。協定世界時 (UTC) での1970年1月1日午前0時0分0秒からの経過秒数により表現します。例えば、ISO 8601形式:2021-09-25T13:08:41Z のとき、UNIX時間は1632575321 と表記します。

計算式(変換方法)

協定世界時 から UNIX時間に変換する方法

計算式

協定世界時 ➗ 1000 = UNIX時間

ポイント:協定世界時間を1000で除する。

実装コードの例

//協定世界時の時刻  
var date = new Date();
console.log(date); 
// Sun Sep 26 2021 09:55:38 GMT+0900 (Japan Standard Time)
// *注意:Google Apps Script のプロジェクトのTime Zoneの設定エリアによって表示が変化する点に注意してください。

// 協定世界時 から UNIX時間
var unixtime = date / 1000;
console.log(unixtime); //1632617738.99

// 参考:
// UTCの時間表記で出力した場合
console.log(Utilities.formatDate(date, "UTC", "yyyy-MM-dd HH:mm:ss"));
// 2021-09-26 00:55:38

// JSTの時間表記で出力した場合
console.log(Utilities.formatDate(date, "JST", "yyyy-MM-dd HH:mm:ss")); 
// 2021-09-26 09:55:38

UNIX時間 から 協定世界時 に変換する方法

計算式

new Date(UNIX時間 × 1000) = 協定世界時

ポイント: UNIX時間に1000を乗する。ただし、UNIX時間はあくまで数字であるため、日付に変換する処理として、 Date() クラスの引数に指定すること。

実装コードの例

//UNIX時間の時刻  
var unixtime = 1632617738.99;

// UNIX時間 から 協定世界時
var date = new Date(unixtime * 1000);
// Sun Sep 26 2021 09:55:38 GMT+0900 (Japan Standard Time)
// *注意:Google Apps Script のプロジェクトのTime Zoneの設定エリアによって表示が変化する点に注意してください。


// 参考:
// UTCの時間表記で出力した場合
console.log(Utilities.formatDate(date, "UTC", "yyyy-MM-dd HH:mm:ss"));
// 2021-09-26 00:55:38

// JSTの時間表記で出力した場合
console.log(Utilities.formatDate(date, "JST", "yyyy-MM-dd HH:mm:ss")); 
// 2021-09-26 09:55:38

利用場面の例

GASでUNIX時間を利用する場面は、下記のような例があります。*UNIX時間は、対人向けの表記ではなくコンピューター向けの表記であるため、利用場面は少ないですが覚えておくと便利です。

・GASを利用したGmailのメール検索時に時間単位でQueryを指定し、特定のメールを抽出する時

・SlackなどのSaasアプリケーションのAPIでUNIX時間が利用されている時

コメント

タイトルとURLをコピーしました