-4

I have two dates in this format. i need days from both dates.

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)

i got error

global name 'date' is not defined

Zeshan
  • 180
  • 1
  • 7
  • 18

2 Answers2

2

Assuming you have (note that they're strings):

start_date = '2018-12-01'
end_date = '2018-12-03'

Then you need to import the datetime module and parse the strings as datetime objects:

import datetime
st_dates = datetime.datetime.strptime(start_date, '%Y-%m-%d')
en_dates = datetime.datetime.strptime(end_date, '%Y-%m-%d')

Then do the difference like you've done:

ss = st_dates - en_dates
print(ss.days)
TerryA
  • 58,805
  • 11
  • 114
  • 143
0

You need to import the datetime module. For dates you can use 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)

or

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)