为什么datetime.strptime不能在这个简单的例子中工作?
我使用strptime将datestring转换为date时间。 根据链接页面,这样的格式应该工作:
>>> # 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:'模块'对象没有属性'strptime'
我究竟做错了什么?
你应该使用datetime.datetime.strptime
。 请注意,非常旧的Python版本(2.4及以上版本)没有datetime.datetime.strptime
; 在这种情况下使用time.strptime
。
您正在导入模块datetime,它没有strptime
函数。
该模块具有该方法的datetime
对象:
import datetime dtDate = datetime.datetime.strptime(sDate, "%m/%d/%Y")
或者,您可以从模块中导入datetime
对象:
from datetime import datetime dtDate = datetime.strptime(sDate, "%m/%d/%Y")
请注意, strptime
方法是在python 2.5中添加的; 如果您使用的是旧版本,请使用以下代码:
import datetime, time dtDate = datetime.datetime(*time.strptime(sDate, "%m/%d/%Y")[:6])
因为datetime
是模块。 该类是datetime.datetime
。
import datetime dtDate = datetime.datetime.strptime(sDate,"%m/%d/%Y")
你应该从datetime
模块的datetime
类中使用strftime
静态方法。 尝试:
import datetime dtDate = datetime.datetime.strptime("07/27/2012", "%m/%d/%Y")
您也可以执行以下操作来导入date时间
from datetime import datetime as dt dt.strptime(date, '%Y-%m-%d')