日数に関係なく、前月を取得します。

日数に関係なく、前月を取得します。

Linuxでは、次のコマンドを使用して先月の情報を取得できます。

date -d "last month" '+%Y%m'

または

date -d "1 month ago" '+%Y%m'

ところで、今日が3月31日だと仮定し、上部にコマンドを実行すると201603と出てきますが、今がどんな曜日でも先月の情報を取得したいのですが、どうすればいいですか?

先月の最初の日/最後の日を取得するなどの回避策を使用してこれを達成できますが、それを実行するためのエレガントな方法があるかどうか疑問に思います。

 date -d "-$(date +%d) days" '+%Y%m'     #get last day of previous month

ベストアンサー1

通常、毎月15日を使用します。それから1ヶ月を引いてください。

$ nowmonth=$(date +%Y-%m)
$ date -d "$nowmonth-15 last month" '+%Y%m'
201602

おすすめ記事