2020-01-29
祝日と重なったごみ収集日、回収してくれるか否か? その答えは住んでいる自治体によって異なります。なので、オープンデータのテンプレートに祝日対応可否フラグを用意しています。

祝日フラグがあるオープデータを表示するアプリをつくるために必要な「国民の祝日オープンデータ」。以前挙げた要望のひとつ、過去分のデータが追記され、1955年から2020年までの祝日データが同一URLで取得できてます。(国民の祝日オープンデータカレンダー / Calerdar by Japan Public Holiday Open Data、当時のアプリ、そのまま動いている)


Holyday in Japan - 日本の祝日
せっかくの65年分、一挙表示させてみたらおもしろいかも!?
JavaScriptのカレンダーライブラリを流用、できあがり!
7月の第三月曜日が基本の「海の日」ですが、「国民の祝日に関する法律(昭和23年法律第178号)の特例」によって、2020年は7/23になっています。(国民の祝日について - 内閣府

こちらが祝日一挙表示を実現する、async/awaitを使った、モダンで分かりやすいJavaScriptのプログラム。

window.onload = async function() { const holidays = await fetchHolidays() const year = new Date().getFullYear() for (let i = 1; i <= 12; i++) { const div = create("div") div.className = 'month' div.textContent = i + "月" main.appendChild(div) const cal = getCalendar(year, i) for (let j = 1; j <= cal.lastday; j++) { for (const holiday of holidays) { if (holiday.month == i && holiday.day == j) { const div = create("div") div.className = 'holiday' div.textContent = holiday.name + "(" + holiday.year + ")" cal.days[j].appendChild(div) if (holiday.year == year) { cal.days[j].className = "restday" } } } } main.appendChild(cal) } }

オープンデータを使ったオープンライセンス(CC BY @taisukef)なオープンソース。存分にご活用ください!

現状のオープンデータ、もういっぽ改善して欲しい点は、翌年度末までの公開。
現状、2020年度末、2021年1月〜3月が未公開。年度単位で見ることが多いと想定されるので、今年4月の更新時には、せめて2022年3月までのデータまで確定して記載してもらえると、うれしい。

Tweet
クリエイティブ・コモンズ・ライセンス
本ブログの記事や写真は「Creative Commons — CC BY 4.0」の下に提供します。記事内で紹介するプログラムや作品は、それぞれに記載されたライセンスを参照ください。
CC BY / @taisukef / アイコン画像 / プロフィール画像 / 「一日一創」画像 / RSS