fromdatetimeimportdatetime,date,time
year=2017month=8day=29hour=18minute=4second=15
dt=datetime(year,month,day,hour,minute,second)
dt.hour,dt.minute,dt.second
(18, 4, 15)
Extract the equivalent date object:
dt.date()
datetime.date(2017, 8, 29)
Extract the equivalent time object:
dt.time()
datetime.time(18, 4, 15)
When aggregating or grouping time series data, it is sometimes useful to replace fields of a series of datetimes such as zeroing out the minute and second fields:
dt.replace(minute=0,second=0)
datetime.datetime(2017, 8, 29, 18, 0)
Format a datetime string:
dt.strftime('%m/%d/%Y %H:%M')
'08/29/2017 18:04'
Convert a string into a datetime object:
datetime.strptime('20170829','%Y%m%d')
datetime.datetime(2017, 8, 29, 0, 0)
Get the current datetime:
dt_now=datetime.now()
Subtract two datetime fields to create a timedelta:
delta=dt_now-dtdelta
datetime.timedelta(0, 8, 836993)
Add a datetime and a timedelta to get a new datetime:
dt+delta
datetime.datetime(2017, 8, 29, 18, 4, 23, 836993)