如何使用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 


以上是如何使用Linux以MonthYear格式(December2020)获取上个月和上一年的全部内容。
THE END
分享
二维码
< <上一篇
下一篇>>