如何在Bash中打印当前时间前一天的日期?
当前回答
date --date='-1 day'
其他回答
MAC OSX
昨天的日期:
date -v-1d +%F
其中1d定义今天减去1天。同样的,
date -v-1w +%F -表示前一周的日期
date -v-1m +%F -表示上个月的日期
如果你有gnu日期,
date --date="1 day ago"
更多信息:https://www.cyberciti.biz/tips/linux-unix-get-yesterdays-tomorrows-date.html
也许改用Perl ?
perl -e 'print scalar localtime( time - 86400 ) . "\n";'
或者使用nawk, (ab)使用/usr/bin/adb:
nawk 'BEGIN{printf "0t%d=Y\n", srand()-86400}' | adb
我也发现了这个…疯了!
/usr/bin/truss /usr/bin/date 2>&1 | nawk -F= '/^time\(\)/ {gsub(/ /,"",$2);printf "0t%d=Y\n", $2-86400}' | adb
date -d "yesterday" '+%Y-%m-%d'
or
date=$(date -d "yesterday" '+%Y-%m-%d')
echo $date
好吧,这是一个晚的答案,但这似乎是有效的!
YESTERDAY=`TZ=GMT+24 date +%d-%m-%Y`;
echo $YESTERDAY;
如果你有GNU日期,我理解正确
$ date +%Y:%m:%d -d "yesterday"
2009:11:09
or
$ date +%Y:%m:%d -d "1 day ago"
2009:11:09