如何在Bash中打印当前时间前一天的日期?


当前回答

好吧,这是一个晚的答案,但这似乎是有效的!

     YESTERDAY=`TZ=GMT+24 date +%d-%m-%Y`;
     echo $YESTERDAY;

其他回答

date -d "yesterday" '+%Y-%m-%d'

or

date=$(date -d "yesterday" '+%Y-%m-%d')
echo $date

高级bash脚本编写指南

date +%Y:%m:%d -d "yesterday"

有关日期格式的详细信息,请参阅日期手册页

date --date='-1 day'
date --date='-1 day'

如果选择的日期格式是'YYYYMM',你可以用正则表达式做一个简单的计算:

echo $(($(date +"%Y%m") - 1)) | sed -e 's/99$/12/'

2020年1月,它将返回2011912;-) 但是,这只是一个变通方法,当date没有计算选项和其他日期解释器选项(例如使用perl)不可用时;-)

date --date='-1 day'