如何使用Linux以MonthYear格式(December2020)获取上个月和上一年
我想要上个月和上一年的格式:“ December2020 ”。
但是在执行以下 Linux 命令时,我得到了 2020 年 7 月。
echo `date -d "2021-01-08" '+%B' -d 'last month'``date -d '1 year ago' +%Y
日期硬编码参数的格式为:YYYY-MM-DD (2021-01-08)
回答
date只接受一种-d选择。在您的命令中date -d "2021-01-08" '+%B' -d 'last month',第一个-d被忽略。仅-d "last month"适用。因此,由于我们现在有 8 月,因此输出为July.
你可能想用
date -d '2021-01-08 - 1 month' +%B%Y
打印December2020.
如果您真的想将上个月和上一年连接在一起,则可以使用
echo "$(date -d'2021-01-08 - 1 month' +%B)$(date -d'2021-01-08 - 1 year' +%Y)"
但这会产生相当奇怪的结果:
2021-01-08 ? December2020 # 1 month before input date
2021-04-30 ? March2020 # 13 months before input date
THE END
二维码