日期,找出一個月中有多少天

日期,找出一個月中有多少天

我怎樣才能使用日期命令找出目前和下個月的天數?

答案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

相關內容