Psycopg2将日期字符串转换为前一天

时间:2019-03-20 15:02:58

标签: python psycopg2

我正在使用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问题,那么我认为每次的时间都不一样...

0 个答案:

没有答案