我正在制作停车场系统,我在使用SQL数据库时遇到了一些困难。
我正在从SQL数据库中选择数据,但我需要正确地获得时间,以便用于进一步计算。例如,我需要得到插入数据库的时间为
VARCHAR
,也许糟糕的是我需要使用其他方法作为
TIME
,但事实并非如此。我需要的是使用这一行
Started_Parking = row [3]
。这应该从数据库中获取时间,之后,我应该能够看到从汽车注册时开始的时间差和当前时间。通过这样做,我应该能够计算出 "用户 "应该支付的停车费用。
因此,简而言之,我只需要以某种方式从数据库中获取时间,并使用它进行计算。这是我的代码,我在编译的时候也得到了错误。
从PostgreSQL中获取数据时出现错误,不支持操作数类型。 为 -: 'datetime.datetime' 和 'str' 。
connection = psycopg2.connect(user="postgres", password="Dziugas420", host="127.0.0.1", port="5432", database="postgres") cursor = connection.cursor() postgreSQL_select_Query = "select * from vartotojai WHERE carnum=('%s')" % car_numb cursor.execute(postgreSQL_select_Query) # PALEIST KOMANDA vartotoju_data = cursor.fetchall() # READ DATA print(" CAR DETAILS: ") for row in vartotoju_data: print("Current ID: ", row[0]) print("Car Number: ", row[1]) print("Parked on: ", row[3], "\n") Pay_Time = datetime.datetime.now() Started_Parking = row [3] Prastovetas_Laikas = Pay_Time - Started_Parking print(Prastovetas_Laikas) # NOW LET'S CHECK IF THE TIME DIFFERENCE IS WORKING, LET'S SEE THE DIFFERENCE AFTER 20SECS. time.sleep(20) Pay_Time2 = datetime.datetime.now() Prastovetas_Laikas2 = Pay_Time2 - Started_Parking print(Prastovetas_Laikas2)`**EDIT
下面是我用来将这个时间导入数据库的代码。
Car_Reg_Time = datetime.datetime.now().strftime("%Y-%m-%d %H:%M")
postgres_insert_query = """ INSERT INTO vartotojai (CARNUM, TIME, LAIKAS) VALUES (%s,%s, %s)"""
record_to_insert = (car_numb, Reg_Tikslus_Laikas, Car_Reg_Time)
这是我的数据库的表格。
数据库中的laikas是汽车注册的时间,数据库中的时间是注射的时间。