AttributeError:“datetime”模块没有属性“strptime”
Posted
技术标签:
【中文标题】AttributeError:“datetime”模块没有属性“strptime”【英文标题】:AttributeError: 'datetime' module has no attribute 'strptime' 【发布时间】:2013-10-29 02:09:11 【问题描述】:这是我的Transaction
课程:
class Transaction(object):
def __init__(self, company, num, price, date, is_buy):
self.company = company
self.num = num
self.price = price
self.date = datetime.strptime(date, "%Y-%m-%d")
self.is_buy = is_buy
当我尝试运行date
函数时:
tr = Transaction('AAPL', 600, '2013-10-25')
print tr.date
我收到以下错误:
self.date = datetime.strptime(self.d, "%Y-%m-%d")
AttributeError: 'module' object has no attribute 'strptime'
我该如何解决这个问题?
【问题讨论】:
from datetime import datetime
我今天遇到了同样的问题。这是 Python 2 库中的一个已知线程错误。它不会被修复。解决方案:import _strptime
在此处阅读更多内容:***.com/questions/32245560/… 我们是否将其标记为骗子?
【参考方案1】:
值可能因使用情况而异。
import datetime
date = datetime.datetime.now()
date.strftime('%Y-%m-%d') # date variable type is datetime
日期变量的值必须是字符串::
date = '2021-09-06'
datetime.datetime.strptime(date, "%Y-%m-%d")
str(datetime.datetime.strptime(date, "%Y-%m-%d")) # show differently
【讨论】:
【参考方案2】:我遇到了同样的问题,这不是您所说的解决方案。所以我将“从日期时间导入日期时间”更改为“导入日期时间”。之后与 在“datetime.datetime”的帮助下,我可以正确获取整个模块。我想这是该问题的正确答案。
【讨论】:
【参考方案3】:如果我不得不猜测,你是这样做的:
import datetime
在代码的顶部。这意味着您必须这样做:
datetime.datetime.strptime(date, "%Y-%m-%d")
访问strptime
方法。或者,您可以将导入语句更改为:
from datetime import datetime
按原样访问它。
制作datetime
module的人也将他们的class datetime
命名为:
#module class method
datetime.datetime.strptime(date, "%Y-%m-%d")
【讨论】:
哥伦比亚小镇哥伦比亚的回忆:en.wikipedia.org/wiki/Colombia,_Huila 为什么Python会这样!? T__T 是的。 “想要一个美丽的代码”被愚蠢的语法规则毁掉的讽刺。【参考方案4】:使用正确的调用:strptime
是 datetime.datetime
类的类方法,它不是 datetime
模块中的函数。
self.date = datetime.datetime.strptime(self.d, "%Y-%m-%d")
正如 Jon Clements 在 cmets 中提到的,有些人使用 from datetime import datetime
,这会将 datetime
名称绑定到 datetime
类,并使您的初始代码正常工作。
要确定您(将来)面临哪种情况,请查看您的导入语句
import datetime
:这就是模块(这就是你现在拥有的)。
from datetime import datetime
:就是这个类。
【讨论】:
可悲的是 - 如果你正在改编别人的代码库 - 对于某些人来说,from datetime import datetime
并不少见,而对于其他系统,它只是一个 import datetime
,因为它期望 datetime
成为一个模块... ;)以上是关于AttributeError:“datetime”模块没有属性“strptime”的主要内容,如果未能解决你的问题,请参考以下文章
AttributeError:“datetime”模块没有属性“strptime”
日期时间、熊猫和时区问题:AttributeError:“datetime.timezone”对象没有属性“_utcoffset”