我正在使用strptime将日期字符串转换为datetime
。根据链接页面,这样的格式应该有效:
>>> # Using datetime.strptime()
>>> dt = datetime.strptime("21/11/06 16:30", "%d/%m/%y %H:%M")
我的代码是:
import datetime
dtDate = datetime.strptime(sDate,"%m/%d/%Y")
其中sDate = "07/27/2012"
(例如)。 (我理解,在同一页面上,%Y
是“年份,世纪为十进制数。”)
我尝试将sDate的实际值放入代码中:
dtDate = datetime.strptime("07/27/2012","%m/%d/%Y")
但这不起作用。我得到的错误是: AttributeError:'module'对象没有属性'strptime'
我做错了什么?
答案 0 :(得分:59)
您应该使用datetime.datetime.strptime
。请注意,非常旧版本的Python(2.4及更早版本)没有datetime.datetime.strptime
;在这种情况下使用time.strptime
。
答案 1 :(得分:21)
您正在导入模块日期时间,该日期时间没有strptime
功能。
该模块 具有datetime
对象,但该方法:
import datetime
dtDate = datetime.datetime.strptime(sDate, "%m/%d/%Y")
或者,您可以从模块中导入datetime
对象:
from datetime import datetime
dtDate = datetime.strptime(sDate, "%m/%d/%Y")
注意在python 2.5中添加了strptime
方法;如果您使用的是旧版本,请改用以下代码:
import datetime, time
dtDate = datetime.datetime(*time.strptime(sDate, "%m/%d/%Y")[:6])
答案 2 :(得分:6)
因为datetime
是模块。该课程为datetime.datetime
。
import datetime
dtDate = datetime.datetime.strptime(sDate,"%m/%d/%Y")
答案 3 :(得分:1)
您应该使用来自strftime
模块的datetime
类的datetime
静态方法。尝试:
import datetime
dtDate = datetime.datetime.strptime("07/27/2012", "%m/%d/%Y")
答案 4 :(得分:0)
您还可以执行以下操作,以导入日期时间
from datetime import datetime as dt
dt.strptime(date, '%Y-%m-%d')
答案 5 :(得分:0)
如果在项目的文件夹中,您创建了一个名为“datetime.py”的文件