如何在Bash中打印当前时间前一天的日期?
当前回答
试试下面的代码,它也处理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'`
何赛义工
其他回答
如果你有GNU日期,我理解正确
$ date +%Y:%m:%d -d "yesterday"
2009:11:09
or
$ date +%Y:%m:%d -d "1 day ago"
2009:11:09
date -d "yesterday" '+%Y-%m-%d'
or
date=$(date -d "yesterday" '+%Y-%m-%d')
echo $date
date --date='-1 day'
试试下面的代码,它也处理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'`
何赛义工
高级bash脚本编写指南
date +%Y:%m:%d -d "yesterday"
有关日期格式的详细信息,请参阅日期手册页
date --date='-1 day'