0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

Androidアプリ開発で国民の祝日を表示させるのに試行錯誤。前編

Posted at

 どうも!ヨースケです。日記アプリもようやく1画面が終わったので、約10時間に及ぶ日帰りミニ旅をしていました。一眼レフでたくさん撮るぞーと意気込んでいましたが、ほとんど撮れませんでした...ただ疲れただけで、帰り道に前方後方不注意の車に二度轢かれかけるなどさんざんな一日でした(笑)。
 
 今回は日記アプリに取り入れたその日が国民の祝日ならば表示しタップするとその詳細をダイアログで表示する。というのを前編後編にわたって紹介します。

  • 国民の祝日
  • 日付が固定されている祝日
  • 第〇月曜日の祝日
  • 春分と秋分
  • 振替休日

国民の祝日

 まず、日本にある国民の休日を記してみます。
元日、成人の日、建国記念の日、天皇誕生日、春分の日、昭和の日、憲法記念日、みどりの日、こどもの日、海の日、山の日、敬老の日、秋分の日、スポーツの日、文化の日、勤労感謝の日の16個あります。「体育の日」は2020年に「スポーツの日」と改められました。次はプログラムで重要になる日付の話をします。

日付が固定されている祝日

 プログラム的には楽な日付が初めから決められている祝日の一覧です。

祝日名 日付 備考
元旦 1月1日 -
建国記念の日 2月11日 -
天皇誕生日 2月23日 -
昭和の日 4月29日 -
憲法記念日 5月3日 -
みどりの日 5月4日 -
こどもの日 5月5日 -
山の日 8月11日 2020年は8月10日
文化の日 11月3日 -
勤労感謝の日 11月23日 -

第〇月曜日の祝日

祝日名 日付 備考
成人の日 1月の第2月曜日 -
海の日 7月の第3月曜日 2020年は7月23日
敬老の日 9月の第3月曜日 -
スポーツの日 10月の第2月曜日 2020年は7月24日
以上の表のようにオリンピック・パラリンピックがある2020年は祝日が動いてしまいますが、月と週と曜日が分かるので何とか判定できそうです。

春分と秋分

 この2つの祝日は厄介でした。まず、春分の日は3月の19日~22日うちの1日に、秋分の日は9月の22~24日のうちの1日になります。なぜ年によって日にが異なるのかと言うと地球の公転周期と関係があるようで詳しくはこちらをご覧ください(投げやり)。
 春分の日や秋分の日は逐一カレンダーを見ながら入れていかなければならないのか?と最初は肩を落としましたが、Wikipediaによれば西暦年を4で割ったあまりでその年の春分・秋分の日が決められるそうです。
春分の日:https://ja.wikipedia.org/wiki/%E6%98%A5%E5%88%86%E3%81%AE%E6%97%A5
秋分の日:https://ja.wikipedia.org/wiki/%E7%A7%8B%E5%88%86%E3%81%AE%E6%97%A5
 

振替休日

 振替休日は「国民の祝日の日曜日の翌日の月曜日以降の国民の祝日でない祝日の翌日」とちょっとややこしいですがそのように祝日法ではそう記されています。簡単に言えば日曜日が祝日なら次の平日が振替休日に充てられると考えた方がいいかもです。

 後編では考え方や実際書いたソースコードを載せて解説とは言い難いですが、説明をしていこうかなと思います。今週中には上げるのでよろしくお願い致します。

参考文献

祝日法:https://www8.cao.go.jp/chosei/shukujitsu/gaiyou.html
国民の祝日:https://ja.wikipedia.org/wiki/%E5%9B%BD%E6%B0%91%E3%81%AE%E7%A5%9D%E6%97%A5

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?