Why does trying to use `datetime.strptime` result in " 'module' object has no attribute 'strptime'"?

Question:

I’m using strptime to convert a date string into a datetime. According to the linked page, formatting like this should work:

>>> # Using datetime.strptime()
>>> dt = datetime.strptime("21/11/06 16:30", "%d/%m/%y %H:%M")

My code is:

import datetime
dtDate = datetime.strptime(sDate,"%m/%d/%Y")

where sDate = "07/27/2012". (I understand, from the same page, that %Y is “Year with century as a decimal number.”)

I have tried putting the actual value of sDate into the code:

dtDate = datetime.strptime("07/27/2012","%m/%d/%Y")

but this does not work. The error I get is:

AttributeError: ‘module’ object has no attribute ‘strptime’

What am I doing wrong?

Answers:

Because datetime is the module. The class is datetime.datetime.

import datetime
dtDate = datetime.datetime.strptime(sDate,"%m/%d/%Y")

You are importing the module datetime, which doesn’t have a strptime function.

That module does have a datetime object with that method though:

import datetime
dtDate = datetime.datetime.strptime(sDate, "%m/%d/%Y")

Alternatively you can import the datetime object from the module:

from datetime import datetime
dtDate = datetime.strptime(sDate, "%m/%d/%Y")

Note that the strptime method was added in python 2.5; if you are using an older version use the following code instead:

import datetime, time
dtDate = datetime.datetime(*time.strptime(sDate, "%m/%d/%Y")[:6])
Answered By: Martijn Pieters

You should use strftime static method from datetime class from datetime module. Try:

import datetime
dtDate = datetime.datetime.strptime("07/27/2012", "%m/%d/%Y")
Answered By: Konrad Hałas

You should be using datetime.datetime.strptime. Note that very old versions of Python (2.4 and older) don’t have datetime.datetime.strptime; use time.strptime in that case.

Answered By: ecatmur

You can also do the following,to import datetime

from datetime import datetime as dt

dt.strptime(date, '%Y-%m-%d')
Answered By: Priyanka Marihal

If in the folder with your project you created a file with the name “datetime.py”

Answered By: Ihor Ivasiuk