罠箇所
- 10月31日に前月を取得したい場合、手軽に下記のコマンドを使う
date -d '2016-10-31 1 months ago' '+%m'
だけど結果は
10
になる😰
解釈
- 10/31の一ヶ月前で9/31を取得するが9月は30日までの為、+1日して10/1という結果になった
date -d '2016-10-31 1 months ago' '+%F'
2016-10-01
ではどうどうしようか
- 基準日を必ずN月1日を基準にしてから前月を取得するようにする
month = date +'%Y-%m-01'
date -d ${month}' 1 months ago' '+%m'
😃