У меня две даты в этом формате. мне нужны дни с обеих дат.
start_date = 2018-12-01
end_date = 2018-12-03
st_dates = date(start_date)
en_dates = date(end_date)
ss = st_dates - en_dates
print(ss.days)
у меня ошибка
global name 'date' is not defined
Возможный дубликат Вычитание дат с помощью Python
@ Набин, я уже импортирую дату и время
@NerdicSapo я проверяю много решений, но не работаю.
Пожалуйста, предоставьте минимальный воспроизводимый пример. Ваш код ошибки в первой строке.
@jpp В первой строке нет ошибки, только целочисленное вычитание.
@meagar, в Python 2.7, достаточно честно :). Конечно, это ошибки в Python 3.






Вам необходимо импортировать модуль datetime. Для свиданий можно использовать datetime.datetime.
from datetime import datetime
start_date = datetime(2018, 12, 1)
end_date = datetime(2018, 12, 3)
ss = start_date - end_date
print(ss.days)
или
from datetime import datetime
st_dates = datetime.strptime('2018-12-01', '%Y-%m-%d')
en_dates = datetime.strptime('2018-12-03', '%Y-%m-%d')
ss = st_dates - en_dates
print(ss.days)
у меня ошибка. объект 'модуль' не может быть вызван для использования вашего метода
Предполагая, что у вас есть (обратите внимание, что это строки):
start_date = '2018-12-01'
end_date = '2018-12-03'
Затем вам нужно импортировать модуль datetime и разбирать строки как объекты datetime:
import datetime
st_dates = datetime.datetime.strptime(start_date, '%Y-%m-%d')
en_dates = datetime.datetime.strptime(end_date, '%Y-%m-%d')
Затем сделайте разницу, как вы это сделали:
ss = st_dates - en_dates
print(ss.days)
я получил ошибку аргумент int () должен быть строкой или числом, а не datetime.timedelta
@Zeshan Значит, вы используете код, которого я еще не видел. Не могли бы вы отредактировать свой вопрос?
это проблема импорта?