スキルアップを始める

【GAS】UtilitiesクラスのformatDate()メソッドで日付オブジェクトを文字列に変換する

GAS(GoogleAppsScript)
メルマガ購読できます

簡単1ステップ!届いたメールの「フォローを確認」クリックでメルマガ登録!一緒にスキルアップを目指しましょう!

GASのUtilitiesクラスのformatDate()メソッドは、日付オブジェクトを文字列に変換する関数です。第三引数formatには、出力する日付のフォーマットを指定します。

Class Utilities  |  Apps Script  |  Google for Developers

ISO 8601 形式

Sun Oct 15 20:40:58 GMT+09:00 2023


この日付形式は、ISO 8601 形式と呼ばれます。ISO 8601 形式は、世界中で標準的に使用されている日付形式です。

この形式では、年、月、日、時、分、秒、タイムゾーンが、以下の順に指定されます。

YYYY-MM-DDTHH:mm:ssZ

例えば、下記の例では、2023年10月15日20時40分58秒(日本標準時)を表しています。

なお、タイムゾーンは、Z で指定される UTC を省略することもできます。

YYYY-MM-DDTHH:mm:ss

例えば、上記の例では、2023年10月15日20時40分58秒(UTC)を表しています。

ISO 8601 形式は、コンピューターやネットワークで日付をやり取りする際に便利です。

new Dateを実行するとISO 8601 形式になる

GASでnew Date()を実行すると、日付オブジェクトが作成されます。この日付オブジェクトは、デフォルトでISO 8601形式で表現されます。

var now = new Date();
Logger.log(now);

情報	Sun Oct 15 20:40:58 GMT+09:00 2023

日付オブジェクトを別の形式で出力するには、UtilitiesクラスのformatDate()メソッドを使用します。

例えば、以下のコードを実行すると、2023年10月15日20時40分58秒(日本標準時)を「yyyy/MM/dd」というフォーマットで出力します。

const now = new Date();
const formattedDate = Utilities.formatDate(now, null, "yyyy/MM/dd");

console.log(formattedDate); // 2023/10/15 20:40:58

日時情報に対応するアルファベット

日時情報に対応するアルファベットは、以下のとおりです。

日時情報形式
yyyy2023
MM10
dd15
HH19
mm30
ss22

例えば、2023年10月15日19時30分22秒を「yyyy/MM/dd HH:mm:ss」というフォーマットで出力するには、以下のコードを実行します。

const now = new Date();
const formattedDate = Utilities.formatDate(now, null, "yyyy/MM/dd HH:mm:ss");

console.log(formattedDate); // 2023/10/15 19:30:22

「yyyy/MM/dd」というフォーマットで出力

また、日付のみを「yyyy/MM/dd」というフォーマットで出力するには、以下のコードを実行します。

const now = new Date();
const formattedDate = Utilities.formatDate(now, null, "yyyy/MM/dd");

console.log(formattedDate); // 2023/10/15

formatDate()メソッドの第二引数timeZoneには、タイムゾーンを指定することができます。指定しない場合は、デフォルトのタイムゾーンが使用されます。

日本標準時(JST)で出力する

例えば、日本標準時(JST)で出力するには、以下のコードを実行します。

const now = new Date();
const formattedDate = Utilities.formatDate(now, "JST", "yyyy/MM/dd HH:mm:ss");

console.log(formattedDate); // 2023/10/15 07:30:22

下記は関数名を含めてログを出力した例です。

function formatDateSample() {
var now = new Date();
Logger.log(now);
var formattedDate = Utilities.formatDate(now, "JST", "yyyy/MM/dd HH:mm:ss");
Logger.log(formattedDate);
}

情報	Sun Oct 15 23:43:27 GMT+09:00 2023
情報	2023/10/15 23:43:27

まとめ

このように、formatDate()メソッドの第三引数formatを指定することで、さまざまなフォーマットで日付を整形することができます。

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