我正在使用psycopg2
将一些数据插入PostgreSQL数据库中。
import psycopg2
conn = psycopg2.connect(host="127.0.0.1", port='5432', database="mydatabase", user="root", password="root")
cursor = conn.cursor()
# MY-SQL-FILE has a bunch of INSERT statements, such as:
# INSERT INTO mytable (mydate) values ('1991-18-03');
cursor.execute(open("/MY-SQL-FILE.sql").read())
conn.commit()
conn.close()
执行上述脚本将在我的数据库中创建一个日期为1991-03-17 21:00:00
obs:mydate
的字段类型为timestamptz
我希望得到一行日期为1991-03-18 00:00:00
有趣的是,如果我尝试在DBeaver中执行相同的插入语句,则会得到1991-03-18 00:00:00
为什么会这样? (如果我将日期从字符串转换为日期时间,则很可能会起作用)
但是我想知道为什么会这样,这21:00:00是从哪里来的,如果这是DB TZ问题,那么我认为每次的时间都不一样...