GNU date でのみ動作する。macOS 等にインストールされている BSD date では動作しない。 # 今月初め $ echo $(date +"%Y%m%d" -d"`date +"%Y%m01"`") 20170901 # 先月初め $ echo $(date +"%Y%m%d" -d"`date +"%Y%m01"` 1 month ago") 20170801 # 来月初め $ echo $(date +"%Y%m%d" -d"`date +"%Y%m01"` + 1 month") 20171001 # 今月終わり $ echo $(date +"%Y%m%d" -d"`date +"%Y%m01"` 1 days ago + 1 month") 20170930 # 先月終わり $ echo $(date +"%Y%m%d" -d"`date +"%Y%m01"` 1