我试图获取当前时间,并将其与字符串中的日期进行比较。 这是我的代码:
import datetime
CurrentDate = str(datetime.datetime.now())
CurrentDate = datetime.strptime(CurrentDate, "%d/%m/%Y %H:%M")
print(CurrentDate)
ExpectedDate = "9/8/2015 4:00"
ExpectedDate = datetime.datetime.strptime(ExpectedDate, "%d/%m/%Y %H:%M")
print(ExpectedDate)
if CurrentDate > ExpectedDate:
print("Date missed")
else:
print("Date not missed")
但这是我得到的错误。
CurrentDate = datetime.strptime(CurrentDate,"%d /%m /%Y%H:%M") AttributeError:' module'对象没有属性' strptime'
答案 0 :(得分:4)
将datetime.datetime.now()
转换为字符串没有多大意义,只需将其转换回日期时间即可。请保持原样。
import datetime
CurrentDate = datetime.datetime.now()
print(CurrentDate)
ExpectedDate = "9/8/2015 4:00"
ExpectedDate = datetime.datetime.strptime(ExpectedDate, "%d/%m/%Y %H:%M")
print(ExpectedDate)
if CurrentDate > ExpectedDate:
print("Date missed")
else:
print("Date not missed")
结果:
2015-09-09 12:25:00.983745
2015-08-09 04:00:00
Date missed
答案 1 :(得分:3)
在datetime模块中,一个类被命名为datetime,你可能知道它,因为你在其余的代码中做到了。
你的第三行应该是:
CurrentDate = datetime.datetime.strptime(CurrentDate, "%d/%m/%Y %H:%M")
两个datetime
的内容只有一个。该行引发了错误。
或者,您可以导入整个班级:
from datetime import datetime
并且不需要指定datetime
两次,这有点容易。
编辑:正如两位炼金术士所指出的那样(我真的没有注意到)是你用一个字符串来比较日期,这不是开始工作一个好的做法。请查看this question中有关比较Python中的日期而不将其转换为字符串的各种代码段。