ひきこもりろん

広告ライターからエンジニアに転職し、現在はYouTuberデビューを目論んでいる「ひきこもり志願者」が日々の妄想を書き散らかすブログ。

【75日目】日本の祝日と営業日の日

今日は珍しく少しだけ技術的な話である。

開発中のシステムで、指定した「営業日」以降のデータを出力する機能が必要になった。この「営業日」と言うのがなかなか厄介で、単純に土曜日・日曜日を除外するだけでなく、日本における祝日も考慮に入れる必要がある。

さらに祝日には大きく分けて4つのパターンがあり、元日のように日付が固定のもの、成人の日のように特定週の月曜日にあたるもの(ハッピーマンデー)、春分の日秋分の日のように天文学に従い定められるもの、皇太子徳仁親王の結婚の儀のように1度限りのものに分類される。

日常生活を送る上ではあまり気に止めていなかったが、春分の日秋分の日の算出はなかなか面倒なものらしい。一応、一般的に知られている計算式は下記の通りである。

 

春分の日 = int(20.8431+0.242194*(年-1980)-int( (年-1980) /4) )

 

秋分の日 = int(23.2488+0.242194*(年-1980)-int( (年-1980) /4) )

 

しかしこの計算式にも注意が必要で、1980~2099年までしか当てはまらないとのこと。少なくとも私が生存している間はメンテナンスの必要が無さそうだが、2099年を迎えた現役エンジニアたちは頭を悩まされるかも知れない。

幸い、PHPにはこれらの祝日を加味して営業日を計算してくれるライブラリも存在するのだが、今回はQiitaの記事を参照しつつ自作してみることにした。

コードも載せたいところなのだが、何せこのブログはスマートフォンで更新を続けているので、記載するのが困難である。後ほど、参考にした記事のリンクを貼っておくので、参照頂ければ幸いである。(業務システムに携わっている方であれば既に良い方法をご存知かと思うが、念のため)

 

qiita.com

 

qiita.com

 

また、本文とはまったく関係ないのだが、Qiitaのデザインがいつの間にか変わっていて驚いた。実に今風でお洒落である。

上司から「この機会に何か投稿してみれば?」と言われたのだが、私には有用なネタが思いつかなかった。言い出しっぺの上司にネタが無いか訊いてみると、「エンジニアのストレス発散に有効な折り紙の折り方」を強く勧められた。この男の頭の中は折り紙でいっぱいである。

 

※追記1

私が仕事に関する記事を書く時は、いよいよブログのネタが尽きた証拠である。明日の更新は果たしてどうなることか。

 

※追記2

 今思うと、今日の記事のタイトルは「日」という字を使い過ぎである。

【75日目】日本の祝日と営業日の日。

こんなに短いタイトルに5回も「日」の字が使われている。ゲシュタルト崩壊しても無理のない話である。