работа с datetimeстановится очень запутанной, если учесть, что это datetimeи имя пакета , и имя модуля внутри datetime.
datetime в пакете много разных модулей, а именно:
datetimeмодуль обрабатывает объекты даты и времени.
dateмодуль обрабатывает объекты даты.
timeмодуль обрабатывает объекты времени.
timedeltaмодуль обрабатывает объекты timedelta.
В вашем случае, когда вы сказали import datetime, вы действительно имеете в виду пакет datetime , а не модуль .datetime
strftimeэто метод datetime объектов (т.е. в модуле datetime)
поэтому у вас есть 2 способа сделать это.
Если вы использовали import datetime, то вам нужно указать пакет, модуль, а затем метод, например:
import datetime
today = datetime.datetime.now()
today.strftime('%Y-%m-%d')
или лучший, более удобный для человека способ — просто импортировать datetimeмодуль в пакет datetime, выполнив from *package* import *module*. Применительно к пакету datetime это означает: from datetime import datetimeвот так:
from datetime import datetime
today = datetime.now()
today.strftime('%Y-%m-%d')
ИЛИ, мой предпочтительный метод, - дать модулю псевдоним ( или, по сути, «псевдоним»), чтобы он не сбивался с толку (LOL):
from datetime import datetime as dt
from datetime import timedelta as td
today = dt.now() # get date and time today
delta = td(days=3) #initialize delta
date_you_actually_want = today + delta # add the delta days
date_you_actually_want.strftime('%Y-%m-%d') # format it
надеюсь, что это прояснит это для вас.