So, welcome to LQ (although I'm not yet naturalized myself, I guess).
I think the easiest solution to your problem is to convert the date to seconds since epoch and then subtract 86400. From your post I understand that you know how to extract the date and convert it to the format "YYYYMMDD" . Then you can use something like:
# date set to YYYYMMDD
echo "Yesterday was" $(date --date=@$(( $(date --date=$TODAY +%s) - 86400 )) +'%Y %m %d')