import pandas as pd
dt_bd=pd.to_datetime('2001-12-02 16:20:05')
print(dt_bd)
import pandas as pd
dt_bd=pd.to_datetime('2000-12-23 16:20:05')
print("year : ",dt_bd.year)
print("year : ",dt_bd.month)
print("year : ",dt_bd.day)
print("year : ",dt_bd.hour)
import pandas as pd
dt_bd=pd.to_datetime('2000-12-23 16:20:05')
dt_target=pd.to_datetime('2020-01-01 13:22:34')
print(dt_target-dt_bd)
Output
6947 days 21:02:29
We can get the output in Week, Month, Year, hour etc by using timedelta64() Here are some examples.
import pandas as pd
import numpy as np
from dateutil.relativedelta import relativedelta
dt_bd=pd.to_datetime('2001-11-22 16:20:05')
dt_target=pd.to_datetime('2020-01-01 13:22:34')
dt_diff=dt_target-dt_bd
print(dt_diff)
print(dt_diff/np.timedelta64(1,'W'))
Output , note : First line shows value in days and 2nd line shows value in weeks.
6613 days 21:02:29
944.8395320767196
Similarly we can get the age in Months as on 1st Jan 2020
import pandas as pd
import numpy as np
from dateutil.relativedelta import relativedelta
dt_bd=pd.to_datetime('2001-11-22 16:20:05')
dt_target=pd.to_datetime('2020-01-01 13:22:34')
dt_diff=dt_target-dt_bd
print(dt_diff)
print(dt_diff/np.timedelta64(1,'M'))
6613 days 21:02:29
217.29815312961784
import pandas as pd
dt_now=pd.to_datetime('now')
dt_bd=pd.to_datetime('2001-11-22 16:20:05')
dt_diff=dt_now-dt_bd
print(dt_diff)
Output
6721 days 10:37:40.983745
By using timedelta64() we can create output in different units of date and time(as explained above ).
import pandas as pd
import numpy as np
dt_bd=pd.to_datetime('2001-11-22 16:20:05')
dt_new=dt_bd + np.timedelta64(5,'Y') + np.timedelta64(2,'M') + np.timedelta64(25,'D')
print(dt_new)
Output
2007-02-16 18:24:17
import pandas as pd
dt_now=pd.to_datetime('now')
print(dt_now)
Output in different fomats ( use strftime() )
import pandas as pd
dt_now=pd.to_datetime('now')
print(dt_now)
print(dt_now.strftime('%d-%b-%Y')) #18-Apr-2020
print(dt_now.strftime('%d-%B-%Y')) #18-April-2020
print(dt_now.strftime('%D %X')) # 04/18/20 20:59:42
print(dt_now.strftime('%c')) # Sat Apr 18 20:05:03 2020
import pandas as pd
dt_now=pd.to_datetime('now')
dt_start=dt_now - pd.to_timedelta(10,unit='days')
my_data=pd.date_range(start=dt_start, periods=10,freq='3D6H')
print(my_data)
print(my_data.strftime('%H:%M:%S %f'))
import pandas as pd
dt_now=pd.to_datetime('now')
dt_start=pd.to_datetime('2001-01-22 16:20:05')
my_data=pd.date_range(start=dt_start, periods=10,freq='25D')
#print(my_data)
print(my_data.day_name())
Output
Index(['Monday', 'Friday', 'Tuesday', 'Saturday', 'Wednesday', 'Sunday',
'Thursday', 'Monday', 'Friday', 'Tuesday'],
dtype='object')
import pandas as pd
dt_now=pd.to_datetime('now')
dt_start=dt_now - pd.to_timedelta(10,unit='days')
my_data=pd.period_range(start=dt_start, periods=10,freq='B')
print(my_data.strftime('%x %A'))
Output ( uses strftime for formats and note that %x returns date and %A returns Name of the Weekday in full )
Index(['04/08/20 Wednesday', '04/09/20 Thursday', '04/10/20 Friday',
'04/13/20 Monday', '04/14/20 Tuesday', '04/15/20 Wednesday',
'04/16/20 Thursday', '04/17/20 Friday', '04/20/20 Monday',
'04/21/20 Tuesday'],
dtype='object')
Pandas date & time Basic Exercise using datetime 3-1
Author & Instructor at plus2net
I write and maintain practical tutorials on Python, PHP, SQL, JavaScript, HTML, jQuery, and web development at plus2net. The tutorials focus on clear explanations, working examples, and code that readers can test and adapt while learning.