Как корректно получить вчерашнюю дату в Python?

Здравствуйте. Все вроде как работало по ништячку, но на начало месяца дало сбой. Вчерашнюю дату я считал так.
now = datetime.datetime.now()
yesterday = '{:%Y%m}{}'.format(now, now.day - 1)  # Вчерашний день

#  Полный путь до каталга с записями. имеет в своем наименовании часть текущей даты
folderPath= 'N:/callrecords/autorecords' + '/' + yesterday + '/' 
print(folderPath)


В итоге мой скрипт не выполнился ибо, почему то код выше вернул
N:/callrecords/autorecords/2017110/
хотя должен был по идее вернуть
N:/callrecords/autorecords/20171101/
  • Вопрос задан
  • 10662 просмотра
Решения вопроса 2
@balamut108
Py
from datetime import datetime, timedelta
def get_dates():
    date_format = '%d.%m.%Y'
    today = datetime.now()
    tomorrow = today + timedelta(days=1)
    after_tomorrow = today + timedelta(days=2)
    return {'today': today.strftime(date_format),
            'tomorrow': tomorrow.strftime(date_format),
            'after_tomorrow': after_tomorrow.strftime(date_format)}
get_dates()

Соотв. в твоем случае отнимай.
Ответ написан
Комментировать
@deliro
Вчера было datetime.now() - timedelta(days=1)
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 1
electis
@electis
Программист Python/Django
yesterday = time.strftime( '%Y%m%d' , time.gmtime( time.time() - 86400 ) )
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы