Difference between two dates in Python
Become part of the top 3% of the developers by applying to Toptal https://topt.al/25cXVn
--
Music by Eric Matyas
https://www.soundimage.org
Track title: Fantascape Looping
--
Chapters
00:00 Question
00:38 Accepted answer (Score 440)
00:57 Answer 2 (Score 48)
01:15 Answer 3 (Score 9)
01:47 Answer 4 (Score 6)
02:47 Thank you
--
Full question
https://stackoverflow.com/questions/8419...
Answer 2 links:
[dateutil]: https://pypi.org/project/python-dateutil/
[parser]: https://dateutil.readthedocs.io/en/stabl...
[this deleted duplicate]: https://stackoverflow.com/a/57615842/604...
--
Content licensed under CC BY-SA
https://meta.stackexchange.com/help/lice...
--
Tags
#python #date
#avk47
--
Music by Eric Matyas
https://www.soundimage.org
Track title: Fantascape Looping
--
Chapters
00:00 Question
00:38 Accepted answer (Score 440)
00:57 Answer 2 (Score 48)
01:15 Answer 3 (Score 9)
01:47 Answer 4 (Score 6)
02:47 Thank you
--
Full question
https://stackoverflow.com/questions/8419...
Answer 2 links:
[dateutil]: https://pypi.org/project/python-dateutil/
[parser]: https://dateutil.readthedocs.io/en/stabl...
[this deleted duplicate]: https://stackoverflow.com/a/57615842/604...
--
Content licensed under CC BY-SA
https://meta.stackexchange.com/help/lice...
--
Tags
#python #date
#avk47
ACCEPTED ANSWER
Score 462
Use - to get the difference between two datetime objects and take the days member.
from datetime import datetime
def days_between(d1, d2):
d1 = datetime.strptime(d1, "%Y-%m-%d")
d2 = datetime.strptime(d2, "%Y-%m-%d")
return abs((d2 - d1).days)
ANSWER 2
Score 50
Another short solution:
from datetime import date
def diff_dates(date1, date2):
return abs(date2-date1).days
def main():
d1 = date(2013,1,1)
d2 = date(2013,9,13)
result1 = diff_dates(d2, d1)
print('{} days between {} and {}'.format(result1, d1, d2))
print("Happy programmer's day!")
main()
ANSWER 3
Score 6
I tried the code posted by larsmans above but, there are a couple of problems:
1) The code as is will throw the error as mentioned by mauguerra 2) If you change the code to the following:
...
d1 = d1.strftime("%Y-%m-%d")
d2 = d2.strftime("%Y-%m-%d")
return abs((d2 - d1).days)
This will convert your datetime objects to strings but, two things
1) Trying to do d2 - d1 will fail as you cannot use the minus operator on strings and 2) If you read the first line of the above answer it stated, you want to use the - operator on two datetime objects but, you just converted them to strings
What I found is that you literally only need the following:
import datetime
end_date = datetime.datetime.utcnow()
start_date = end_date - datetime.timedelta(days=8)
difference_in_days = abs((end_date - start_date).days)
print difference_in_days
ANSWER 4
Score 2
Try this:
data=pd.read_csv('C:\Users\Desktop\Data Exploration.csv')
data.head(5)
first=data['1st Gift']
last=data['Last Gift']
maxi=data['Largest Gift']
l_1=np.mean(first)-3*np.std(first)
u_1=np.mean(first)+3*np.std(first)
m=np.abs(data['1st Gift']-np.mean(data['1st Gift']))>3*np.std(data['1st Gift'])
pd.value_counts(m)
l=first[m]
data.loc[:,'1st Gift'][m==True]=np.mean(data['1st Gift'])+3*np.std(data['1st Gift'])
data['1st Gift'].head()
m=np.abs(data['Last Gift']-np.mean(data['Last Gift']))>3*np.std(data['Last Gift'])
pd.value_counts(m)
l=last[m]
data.loc[:,'Last Gift'][m==True]=np.mean(data['Last Gift'])+3*np.std(data['Last Gift'])
data['Last Gift'].head()