我如何使用日期命令来找出当前月份和下个月的天数?
答案1
暴力破解:生成接下来的 31 天和 62 天并取最大的数字:
month=$(date +%m)
maxDayThisMonth=$(( for d in {00..31}; do date -d "+$d days" +%m-%d ; done ; ) | grep -Po "(?<=$month-)\d+" | sort -rn | head -1)
nextMonth=$(printf "%02d" $(( ($month+1) % 12 )) )
maxDayNextMonth=$(( for d in {01..62}; do date -d "+$d days" +%m-%d ; done ; ) | grep -Po "(?<=$nextMonth-)\d+" | sort -rn | head -1)
grep -P
是 GNU 主义,但因为这是针对 Linux 的...否则您可以用更传统的grep
+来替换cut
。