求大神解决 编写一个shell程序 可以计算还有几天过生日并求1到该数字的

2025-05-11 00:55:51
推荐回答(1个)
回答1:

1、例子birthday.sh
#!/bin/sh
if [[ -z $1 ]];then
echo Usage $0 20170101;
exit 0;
fi
birthday=$1
startDate=`date -d now +%s`
endDate=`date -d $birthday +%s`
if [[ $startDate -gt $endDate ]];then
echo today is:$(date +%Y%m%d)
echo Please input date after today.
exit 0;
fi
((stampDiff=endDate-startDate))
((dayDiff=stampDiff/86400))

echo Your Birthday is:$(date -d $birthday +%Y%m%d)
echo There is still $dayDiff days from your birthday;
for ((i=2;i<=$dayDiff;i=i+2));
do
((sum=sum+i))
done
echo $sum
2、使用
./birthday.sh 20170101
3、根据日期的时间戳,计算秒数差,除每天的秒数