如何在 UNIX 中获取上个月最后一天的 Order_date

如何在 UNIX 中获取上个月最后一天的 Order_date

我们用来通过 Control-M 运行 shell 脚本,shell 脚本接受执行日期作为输入参数,无论我们运行什么订单日期,脚本都应该计算上个月的最后一天。我试图得到与下面相同的结果,但无法做到。请帮忙。

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

这里如何从 $startMM_run_date 获取“2021/05/31”。请指教。

答案1

假设GNUdate

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")

相关内容