Skip to content

Instantly share code, notes, and snippets.

@momo-lab
Last active May 10, 2024 02:40
Show Gist options
  • Save momo-lab/b019179facedf10c76747ee8ebb55aef to your computer and use it in GitHub Desktop.
Save momo-lab/b019179facedf10c76747ee8ebb55aef to your computer and use it in GitHub Desktop.
Import Japanese holidays from the Cabinet Office with GAS
// Usage:
// GASに本関数を登録の上、適当なセルに「=importJapaneseHoliday()」と入力すると
// 祝日のリストが出力されます。(1955年~翌年まで)
//
// IMPORTDATA関数を利用する場合に比べて、以下の点で優れています。
// * ヘッダは出力されないので、任意のヘッダを表示できます。
// * 祝日名の文字化けが無くなります。
// * 祝日は日付型として出力されるため、表示形式の変更が容易です。
//
// 情報の提供元は内閣府となります。
// 毎年このデータは更新されるので、メンテナンス無しで祝日がアップデートされます。
// 参照: https://www8.cao.go.jp/chosei/shukujitsu/gaiyou.html
function importJapaneseHoliday() {
const url = 'https://www8.cao.go.jp/chosei/shukujitsu/syukujitsu.csv';
const csv = UrlFetchApp.fetch(url).getContentText('Shift_JIS');
return Utilities.parseCsv(csv)
.slice(1, -1)
.map(r => [Utilities.parseDate(r[0], 'JST', 'yyyy/M/d'), r[1]]);
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment