python - Python - 尝试从输入中减去时间(不支持的操作数类型)
问题描述
我正在尝试从网站输入的值中减去 2 分钟:我一直收到错误消息:第 35 行,在实际时间延迟时间 = set_alarm_timer - timedelta(minutes = 2) 类型错误:不支持的操作数类型为 -: 'str ' 和 'datetime.timedelta'
代码是:
import time
from selenium import webdriver
from selenium.webdriver.common.by import By
from selenium.webdriver.support.ui import WebDriverWait
from selenium.webdriver.support import expected_conditions as ec
from selenium.common.exceptions import *
driver=webdriver.Edge(executable_path='C:\Python27amd64\msedgedriver')
vars = {}
from tkinter import *
import datetime
from datetime import timedelta
def actual_time():
global set_alarm_timer
global delay_time
set_alarm_timer = f"{hour.get()}:{min.get()}:{sec.get()}"
delay_time = set_alarm_timer - timedelta(minutes = 2)
alarm()
clock = Tk()
clock.title("Canyon Oaks CC Start Reservation Clock")
clock.geometry("400x200")
time_format=Label(clock, text= "Enter time in 24 hour format!",
fg="red",bg="black",font="Arial").place(x=60,y=120)
addTime = Label(clock,text = "Hour Min Sec",font=60).place(x = 110)
setYourAlarm = Label(clock,text = "When to start Reservation",fg="blue",relief = "solid",font= ("Helevetica",7,"bold")).place(x=0, y=29)
hour = StringVar()
min = StringVar()
sec = StringVar()
hourTime= Entry(clock,textvariable = hour,bg = "pink",width = 15).place(x=110,y=30)
minTime= Entry(clock,textvariable = min,bg = "pink",width = 15).place(x=150,y=30)
secTime = Entry(clock,textvariable = sec,bg = "pink",width = 15).place(x=200,y=30)
submit = Button(clock,text = "Set Alarm",fg="red",width = 10,command = actual_time).place(x =110,y=70)
clock.mainloop()
解决方案
set_alarm_timer = f"{hour.get()}:{min.get()}:{sec.get()}"
delay_time = set_alarm_timer - timedelta(minutes = 2)
你设置set_alarm_timer
为一个字符串。你从字符串中减去一个 timedelta。错误消息准确地告诉您:“不能将运算符-
与类型str
和 `typedelta 一起使用”。你期望会发生什么?
相反,只需timedelta
使用来自hour
、min
和的值sec
而不是字符串来创建另一个:
set_alarm_timer = timedelta(hours=hour.get(), minutes=min.get(), seconds=sec.get())
delay_time = set_alarm_timer - timedelta(minutes = 2)
推荐阅读
- r - 根据另一个数据框中的多列删除数据框中的行
- python - 如何在 Python3 和 PyQt5 中正确地将整数变量从一个函数传递到另一个函数?
- flutter - 有没有办法在使用 pushNamed 后更改 appBar 中箭头的颜色?
- shell - Lua - 使用 os.execute 命令通过 Crontab 运行脚本时出错 - 退出代码 = 32512
- python - R/python - 带有 rvest 和/或 BeautifulSoup 的 Web 抓取信息返回(有时)没有结果
- postgresql-11 - 这个索引是否与 TimescaleDB 相关?
- python - 为什么我会收到 scipy.integrate._quadrature 的“TypeError:'module' object is not callable”?
- git - 如何使用 Flyway 为 multirepo 项目确定架构版本号
- excel - 删除所有分页符,以便 excel>pdf 仅在页面上打印
- java - 将 Java 数据模型转换为 XLS 工作簿表的设计模式