UNIXで先月の最終日のOrder_dateを取得する方法

UNIXで先月の最終日のOrder_dateを取得する方法

Control-Mを介してシェルスクリプトを実行するために使用します。シェルスクリプトは実行日を入力パラメータとして受け入れます。どの注文日を実行しても、スクリプトは前月の最終日を計算する必要があります。以下のような結果を得ようとしていますが、できません。助けてください。

run_date=20210615
startMM_run_date=`date --date="$run_date" '%Y%m01'` --> 20210601

$startMM_run_dateから「2021/05/31」を取得する方法は次のとおりです。アドバイスしてください。

ベストアンサー1

GNU 仮定date

run_date=20210615

# extract the year and month, and set the day as 01, then subtract 1 day
endOfLastMonth=$(date -d "${run_date:0:4}-${run_date:4:2}-01 - 1 day" "+%Y-%m-%d")

おすすめ記事