Convert string to datetime format in Python
Post date: Jun 25, 2015 12:52:58 PM
>>import
pandas
as
pd
>>import
numpy
as
np
For a single string element you can do it by datetime package.
>>from
datetime
import
datetime >>datetime.strptime('01-MAR-15',
'%d-%b-%y')
datetime.datetime(2015, 3, 1, 0, 0)
To make it work for list of string, just apply this.
>>date_list
=
['01-MAR-15',
'12-APR-16']
>>[datetime.strptime(s,
'%d-%b-%y')
for
s
in
date_list
]
[datetime.datetime(2015, 3, 1, 0, 0), datetime.datetime(2016, 4, 12, 0, 0)]
For pandas object, just use method to_datetime
>>df
=
pd.DataFrame({'order_day':['01-MAR-15',
'12-APR-16']})
>>df
0
1
order_day
01-MAR-15
12-APR-16
>>order_day
=
pd.to_datetime(df.order_day,
format
=
'%d-%b-%y')
>>order_day
0 2015-03-01 1 2016-04-12 Name: order_day, dtype: datetime64[ns]
The day difference can be found by specifying .days
>>(order_day[1]
-
order_day[0]).days
408
The conversion format can be found from this table
https://docs.python.org/2/library/datetime.html#strftime-and-strptime-behavior