Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

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?

like image 795
Charlie Epps Avatar asked Nov 11 '09 07:11

Charlie Epps


3 Answers

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.

like image 155
Tuure Laurinolli Avatar answered Nov 02 '22 05:11

Tuure Laurinolli


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()
like image 29
Soviut Avatar answered Nov 02 '22 07:11

Soviut


If you need to parse natural language date and time strings, consider parsedatetime (and this answer).

like image 1
Adam Matan Avatar answered Nov 02 '22 06:11

Adam Matan