如何使用bash获取当前每个月的最后一天,而不使用if或switch或while循环?

前端之家收集整理的这篇文章主要介绍了如何使用bash获取当前每个月的最后一天,而不使用if或switch或while循环?前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
据我们所知,每个月每个月的最大日数如下:
Jan - 31 days
Feb - 28 days / 29 days (leap year)
Mar - 31 days
Apr - 30 days
May - 31 days
Jun - 30 days
Jul - 31 days
Aug - 31 days
Sep - 30 days
Oct - 31 days
Nov - 30 days
Dec - 31 days

如何得到bash返回当前年度的值(每个月的最后一天),而不使用if或switch或while循环?

我的采取
for m in {1..12}; do
  date -d "$m/1 + 1 month - 1 day" "+%b - %d days"; 
done

要解释:对于m = 1的第一次迭代,-d参数是“1/1 1个月 – 1天”,“1/1”被解释为1月1日.所以1月1日1月 – 1日是1月31日.下一次迭代“2/1”是2月1日,添加一个月减去一天,以获得2月28日或29日.

猜你在找的Bash相关文章