日付に関するアクションはいくつかありますが、月の日数を直接計算するアクションはありません.
大抵の月は日数が決まっていますが厄介なのは閏年です.
年によってあるなしが変わるので固定値にできない困った問題が生じます.
※価格は記事執筆時のものです. 現在の価格はApp Storeから確認ください.
レビュー時のiOSバージョン : iOS16.3
スポンサーリンク
足して引く
アイデアとしては「足して引く」です.
具体的には
- その月の1日を指定する
- 1の前日を計算
- 2の日数を取得
という流れです.
2で翌月の末尾となるので、3でその日数を取り出せば当月の日数が分かるというわけです.
レシピ1:指定月の日数を計算する
まずはシンプルに指定した年と月の日数を計算するレシピを考えます.
年と月は「入力を要求」アクションで指定し、今回はそれぞれy,mという変数で置きます.
指定した年と月を使って「日付を調整」アクションを使い、日付の部分を
y/m/01
とします(スラッシュと01は手打ち).
演算は「1ヶ月加算」です.
同じアクションをもう一つ追加し、上の結果に対して今度は1日減算します.
日付から日数だけを取り出したい場合は、画像のようにフォーマットを弄ることで簡単に可能です.
日付の変数をタップ→「日付フォーマット」をタップして「カスタム」に変更→フォーマット下の枠を「d」だけにします.
西暦と月を入力すれば…
その月の日数がわかります.
レシピ2:指定年のすべての月の日数を計算する
レシピ1を応用して指定年のそれぞれの月の日数を計算してみます.
1月~12月の12回を「繰り返す」で処理し、月の変数が繰り返しの「繰り返しインデックス」に差し替わるだけで大きくは変わりません.
結果は画像の通りです.
「辞書」アクションを使えばその後の処理も便利でしょうね.
〆
各月の日数がわかることで、カレンダーやリマインダーなどの日数を伴う繰り返し処理にも使えます.
次回はこれを含めた別のアイデアを紹介する予定です.