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です。
実行しました
正常に実行できました。
以上です。
ディスカッション
コメント一覧
まだ、コメントがありません