GoogleAppsScriptで先月と来月のyyyymmを取得する

スプレッドシートを年月で分けています。

202110,202211,202212,202301 など。

GASで現在時刻から対象のシートを操作するために、yyyymmのシート名を取得します。

今月、来月、先月のシート名の取得方法です。

GASのコード

// GASでyyyymmの6桁を取得するテスト
function yyymmtest(){
  // 今月のシート名を取得する
  const yyyymm = Utilities.formatDate(new Date(), 'JST', 'yyyyMM');
  Logger.log('今月:' + yyyymm); // 202207

  // 来月のシート名を取得する
  const nextyyyymm = Utilities.formatDate( new Date(yyyymm.substring(0, 4), yyyymm.substring(4, 6), '01'), 'JST', 'yyyyMM');
  Logger.log('翌月:' + nextyyyymm); // 202208

  // 先月のシート名を取得する
  const prevyyyymm = Utilities.formatDate( new Date(yyyymm.substring(0, 4), Number(yyyymm.substring(4, 6)) -1 , -1), 'JST', 'yyyyMM');
  Logger.log('先月:' + prevyyyymm); // 202206

}

new Dateに月(2番目の引数)は0から11です。実際の1月から12月より、「-1」の値になります。よって、来月を取得したい場合は、取得したMMの値をそのまま渡し、日(3番目の引数)は「1」でOKです。

先月を取得したい場合は、MMの値を-1して、日(3番目の引数)は「-1」でOKです。

実行しました

正常に実行できました。

以上です。

GoogleAppsScript

Posted by zzz