On Tue, Jun 30, 2020 at 11:24:51AM +0200, Michael Siegel wrote:
> Well, how would you use date(1) to return the number of days in any
> given month, for example?

Good example, slightly complex but still close to cal|wc ;-)

Martin

--8<--
#! /bin/sh

YEAR=2020
MONTH=6

if [ $MONTH -lt 12 ]; then
        next_year=$YEAR
        next_month=$(( $MONTH + 1 ))
else
        next_year=$(( $YEAR + 1 ))
        next_month=1
fi

ms=$( date -d "${YEAR}-${MONTH}-1" '+%s' )
ns=$( date -d "${next_year}-${next_month}-1" '+%s' )

diff=$(( $ns - $ms ))
days=$(( $diff / 86400 ))

echo "${YEAR}-${MONTH} has ${days} days"

Reply via email to