Google Apps Scriptのコピペしたら便利奴

Page content

GASでアレをやりたい!やりかたわからん!ググってもパッとわからなかった!という様な奴をパーツとしてコピペしておく置き場

GASは基本的にjavascriptらしいのでGAS固有では無い物も含みます

ログを開くのが面倒なので Errorをthrowして画面上部で結果を確認出来る様にしている

更新履歴

  • 20200328 RFC3339形式で日時を得る Dateは日時の繰り上がり繰り下がりを気にしてくれる を追加

あれこれ

RFC3339形式で日時を得る

日時の形式は Utilities.formatDateで変換出来る

ググって色々な所を見に行ったけどだいたいタイムゾーンは Z に指定されているんだけど、私はポンコツなので時間はJSTで表示されていて欲しいのです。

で、タイムゾーンを +9:00 の形式にするのが嵌まったけど Oracleのページ見に行ったら XXX で出来るって書いてあったのでその通りにしたら出来た。

function test(){
  var now = new Date();
  var timezone = Session.getScriptTimeZone();
  var RFC3339format = "yyyy-MM-dd'T'HH:mm:ss.SXXX";
  var date = Utilities.formatDate(now, timezone, RFC3339format);
  //ここから先は出力のために必要な部分
  var msg = Utilities.formatString("これです→ %s",date);
  throw new Error(msg);
}

出力例

Error: これです→ 2020-03-28T19:22:24.820+09:00

Dateは日時の繰り上がり繰り下がりを気にしてくれる

Dateの月は0から始まるので注意 これは4月10日を表している

new Date(2020, 3, 10 ,0, 0);

4月10日の25日後がちゃんと 2020-05-05 になる

new Date(2020, 3, 10 + 25 ,0, 0);