gpt4 book ai didi

shell - 如何在 ksh shell 脚本中计算前一个工作日?

转载 作者:行者123 更新时间:2023-12-04 15:16:56 25 4
gpt4 key购买 nike

在 shell ksh 脚本中计算前一个工作日的最优雅的方法是什么?

到目前为止我得到的是:

#!/bin/ksh

set -x

DAY_DIFF=1
case `date '+%a'` in
"Sun")
DAY_DIFF=2
;;
"Mon")
DAY_DIFF=3
;;
esac

PREV_DT=`perl -e '($sec,$min,$hour,$mday,$mon,$year,$wday,$yday,$isdst)=localtime(time()-${DAY_DIFF}*24*60*60);printf "%4d%02d%02d",$year+1900,$mon+1,$mday;'`

echo $PREV_DT

如何使 ${DAY_DIFF} 变量作为值而不是字符串传输?

最佳答案

#!/bin/ksh
# GNU date is a veritable Swiss Army Knife...
((D=$(date +%w)+2))
if [ $D -gt 3 ]; then D=1; fi
PREV_DT=$(date -d "-$D days" +%F)

关于shell - 如何在 ksh shell 脚本中计算前一个工作日?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/224040/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com