Previous month datetime pandas

I have a datetime instance declared like this:

dtDate = datetime.datetime(2016,1,1,0,0)

      

How do I get the previous month and the previous year from dtDate

?

eg. something like:

dtDate.minusOneMonth()
# to return datetime.datetime(2015,12,1,0,0)

      

+3


source to share


3 answers


You can use:

dtDate = datetime.datetime(2016,1,1,0,0)

print (dtDate - pd.DateOffset(months=1))
2015-12-01 00:00:00

print (dtDate - pd.DateOffset(years=1))
2015-01-01 00:00:00

      



It s

is important to add because if only used year

:

print (dtDate - pd.DateOffset(year=1))
0001-01-01 00:00:00 

      

+1


source


You can use DateOffset

:



In [32]:    
dtDate = dt.datetime(2016,1,1,0,0)
dtDate - pd.DateOffset(months=1)

Out[32]:
Timestamp('2015-12-01 00:00:00')

      

+2


source


Use relativedelta

from dateutil

:

import datetime
import dateutil.relativedelta
dtDate = datetime.datetime(2016,1,1,0,0)
# get previous month
print ((dtDate+dateutil.relativedelta.relativedelta(months=-1)).month)
# get previous year
print ((dtDate+dateutil.relativedelta.relativedelta(years=-1)).year)

      

Output:

12
2015

      

+1


source







All Articles