Вам нужно передать другой формат + на дату и заменить время на 23:59:59.Примерно так:
date -d "$(date +%Y-%m-01) -1 day" +"%a %b %d 23:59:59 %Z %Y"
И вывод будет:
Tue Apr 30 23:59:59 -03 2019
Обновление: чтобы иметь последний день предыдущего месяца, используя формат YYYYMMDD, просто измените последнюю строку форматадо '%Y%m%d'
.Вот полная команда:
date -d "$(date +%Y-%m-01) -1 day" +"%Y%m%d"
А вот вывод:
20190430