如何在Bash中打印当前时间前一天的日期?
当前回答
date -d "yesterday" '+%Y-%m-%d'
or
date=$(date -d "yesterday" '+%Y-%m-%d')
echo $date
其他回答
yesterday=`date -d "-1 day" %F`
将昨天的日期(YYYY-MM-DD格式)放入变量$yesterday。
对不起,在Solaris系统上没有提到我。 因此,-date开关在Solaris bash上不可用。
我发现我可以得到之前的日期与小技巧的时区。
DATE=`TZ=MYT+16 date +%Y-%m-%d_%r`
echo $DATE
date --date='-1 day'
date +%Y:%m:%d|awk -vFS=":" -vOFS=":" '{$3=$3-1;print}'
2009:11:9
试试下面的代码,它也处理DST部分。
if [ $(date +%w) -eq $(date -u +%w) ]; then
tz=$(( 10#$gmthour - 10#$localhour ))
else
tz=$(( 24 - 10#$gmthour + 10#$localhour ))
fi
echo $tz
myTime=`TZ=GMT+$tz date +'%Y%m%d'`
何赛义工