TypeError:'datetime.datetime'对象不可调用,如何使用函数显示时间

时间:2019-04-08 02:15:57

标签: python

我想使用日期时间功能显示时间,但是我不能。我一直收到“ 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”

2 个答案:

答案 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,则无需调用该函数,只需将其用作直接属性即可,这就是为什么您需要使用上述代码的原因,代码现在应该可以正常工作了。

也就是说,我建议您阅读:

  

How does the @property decorator work?