Ваш код:
date = "06-30-2019"
date = datetime.datetime.strptime(date,'%m-%d-%Y').strftime('%m-%d-%Y')
Проверьте тип переменной даты.
type(date)
Out[]: str
Это в строковом формате. Для выполнения операции вычитания вы должны сначала преобразовать ее в формат даты. Вы можете использовать pd.to_datetime ()
# Import packages
import pandas as pd
from datetime import timedelta
# input date
date = "06-30-2019"
# Convert it into pd.to_datetime format
date = pd.to_datetime(date)
print(date)
# Substracting days
number_of_days = 1
new_date = date - timedelta(number_of_days)
print(new_date)
output:
2019-06-29 00:00:00
Если вы хотите избавиться от отметки времени, вы можете использовать:
str(new_date.date())
Out[]: '2019-06-29'