0

date = datetime.strftime(datetime.utcnow(), "%Y-%m-%d") Above date is returning the current date (Format as 2018-12-17). I want to get the previous day from this date. Can you please help me out on the same.

I have used date = date - datetime.timedelta(days=1) but getting the following error: AttributeError: type object 'datetime.datetime' has no attribute 'timedelta'

1 Answers1

0

You most likely use from datetime import datetime and try to access timedelta from the datetime class and not the datetime module. Change your import to from datetime import datetime, timedelta

Also your date variable is a string, you cannot substract a timedelta from it, use datetime.utcnow() instead.

>>> from datetime import datetime, timedelta
>>> date = datetime.strftime(datetime.utcnow(), "%Y-%m-%d")
>>> date
'2018-12-17'
>>> yesterday = datetime.strftime(datetime.utcnow() - timedelta(days=1), "%Y-%m-%d")
>>> yesterday
'2018-12-16'
kalehmann
  • 4,821
  • 6
  • 26
  • 36