【问题标题】:TypeError: unbound method strftime() must be called with datetime instance as first argument (got str instance instead) at Form1, line 38TypeError: unbound method strftime() must be called with datetime instance as first argument (get str instance instead) at Form1, line 38
【发布时间】:2019-10-30 11:03:15
【问题描述】:

我正在尝试让我的代码在 HH:MM:SS 中显示我的“def timer_progress_tick(self, **event_args):”,而不仅仅是几秒钟。

https://docs.python.org/3/library/datetime.html - 查看 python 日期时间库。

 from datetime import datetime

 def timer_progress_tick(self, **event_args):
   """This method is called Every [interval] seconds. Does not trigger if 
   [interval] is 0."""
     if self.start_time is not None:
       self.label_time_elapsed.text = "{}".format(
         datetime.strftime('%H:%M:%S', (datetime.now() - self.start_time))
       )

我明白了;

TypeError: 必须使用 datetime 实例作为第一个参数调用未绑定的方法 strftime()(改为获取 str 实例) 在 Form1 第 38 行

【问题讨论】:

    标签: python datetime strftime


    【解决方案1】:

    使用strftime 是错误的。它是对象的方法,不能从模块中调用。

    self.label_time_elapsed.text = "{}".format(
             (datetime.now() - self.start_time).strftime('%H:%M:%S'))
           )
    

    【讨论】:

    • 那我应该用什么?字符串时间?
    • 你可以这样使用它:(datetime.now() - self.start_time).strftime('%H:%M:%S'))
    • 我也添加了它来回答。
    • 我在“def button_start_click(self,**event_args):”中的“self.start_time = timedelta.now()”现在得到我“AttributError: 'timedelta' 对象没有属性'now'。 'timedelta' 对象应该用什么属性替换 'now'
    猜你喜欢
    • 2015-02-10
    • 2018-01-20
    • 2021-06-04
    • 2021-11-23
    • 1970-01-01
    • 2017-08-14
    • 2020-03-28
    • 1970-01-01
    • 2018-03-31
    相关资源
    最近更新 更多