Parse a string with a date to a datetime object [duplicate]
How can I parse a string like "01-Jan-1995" to a Python datetime
object?
Solution 1:
On the whole you'd parse date and time strings with the strptime
functions in time
or datetime
modules. Your example could be parsed with:
import datetime
datetime.datetime.strptime("01-Jan-1995", "%d-%b-%Y")
Note that parsing month names is locale-dependent. This table shows the directives for parsing various formats of dates and times.
Solution 2:
dateutil can parse this sort of format without you even having to define custom date formats. Just install it with:
pip install python-dateutil
Then use it:
import dateutil.parser
dateutil.parser.parse('01-Jan-1995').date()
Solution 3:
If you need to parse natural language date and time strings, consider parsedatetime (and this answer).