Хотя ответ с использованием dateutil
является хорошим, альтернативой является использование пакета pendulum
в PyPI.Для получения дополнительной информации обратитесь к документам .
>>> import pendulum
>>> dt = pendulum.now().subtract(years=3)
>>> dt
DateTime(2015, 10, 5, 17, 44, 41, 82598, tzinfo=Timezone('America/New_York'))
>>> type(dt)
pendulum.datetime.DateTime
Если вам понадобится текущая дата и время для дальнейшего использования, вам, вероятно, следует сначала сохранить pendulum.now()
в переменной, изатем используйте переменную!
Если вы действительно хотите избежать часового пояса, используйте .naive()
.
Вам не нужно преобразовывать результат в собственный объект Python, но если вы действительнонужно, один из способов сделать это:
>>> import datetime
>>> pydt = datetime.datetime.fromisoformat(dt.isoformat())
>>> pydt
datetime.datetime(2015, 10, 5, 17, 44, 41, 82598, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000)))
>>> type(pydt)
datetime.datetime