python3:在“datetime.timedelta”和“str”实例之间不受支持

2024-09-29 23:25:48 发布

您现在位置:Python中文网/ 问答频道 /正文

如何将str转换为timedelta

我试图从两个不同的来源比较两个不同的时间。与此非常相似 Compare two dates with datetime.timedelta

但这个答案非常不清楚

错误:

not supported between instances of 'datetime.timedelta' and 'str'

当它读取这行代码时:

elif elapsed_time > maxtime_heatac:

即使我用同样的方法设置它们

start_time = central.localize(d)

currentt = current.localize(d)

如何将str转换为timedelta以便进行比较

                                if plant_warning_flag == 0:
                                        d = datetime.fromtimestamp(0)
                                        central = pytz.timezone('US/Central')
                                        start_time = central.localize(d)
                                        #start_time = dt.datetime.now("{dt.datetime.now(tz=dt.timezone.utc):%H:%M:%S}")
                                        plant_warning_flag = 1
                                        #print("start_time ", start_time)
                                current = pytz.timezone('US/Central')
                                currentt = current.localize(d)
                                elapsed_time = currentt - start_time
                                print("current ", current, "start_time ", start_time)
                                print("\nelapsed_time: ", elapsed_time, "maxtime_heatac: ", maxtime_heatac)
                                elif elapsed_time > maxtime_heatac:
                                        payload = {'on1':'4000'}
                                        session = requests.Session()
                                        session.post(acserver_url,headers=headers,data=payload)

该格式的输出非常适合我

elapsed_time:  0:00:00 maxtime_heatac:  00:00:30

所以我不想重新格式化它,只是比较一下

尝试更新:

我试过了

elapsed_time = datetime.strptime(elapsedtmp_time, '%H-%M-%S')

但是我得到了这个错误

TypeError: strptime() argument 1 must be str, not datetime.timedelta

我无法通过那一关


Tags: datetimetimedtcurrentstarttimedeltacentralprint

热门问题