我想使用日期时间功能显示时间,但是我不能。我一直收到“ TypeError:'datetime.datetime'对象不可调用”的消息。有人可以建议我如何解决此错误。
from _datetime import datetime
class purchasDateTime:
def __init__(self, datetime):
self._datetime = datetime
@property
def datetime(self):
return self._datetime
def __str__(self):
return 'Date&Time: {:%#d %b %Y %H:%M}'.format(self._datetime)
def main():
t1 = purchasDateTime(datetime(2019,4,8,12,45))
print(t1)
print('Pickup time:',t1.datetime())
main()
我想要得到的结果是“提取时间:12:45 PM”
答案 0 :(得分:1)
@property
def datetime(self):
return self._datetime
@property
装饰器的用途是,您可以将其称为属性而不是 function ,即t1.datetime
而不是t1.datetime()
。
TLDR:取下括号()
。
答案 1 :(得分:1)
使用此:
print('Pickup time:', t1.datetime.strftime('%H:%M %p'))
这是一个错字,因为既然您在函数上方有一个@property
,则无需调用该函数,只需将其用作直接属性即可,这就是为什么您需要使用上述代码的原因,代码现在应该可以正常工作了。
也就是说,我建议您阅读: