设置“Sun,2017年12月17日14:26:07 GMT”的日期格式

时间:2017-12-18 04:25:01

标签: python-3.x postgresql psycopg2

我必须使用以下日期格式的Postgres日期类型吗?

Sun, 17 Dec 2017 14:26:07 GMT

我正在使用TIMESTAMPTZ并收到此错误:

Error: invalid input syntax for type timestamp with time zone: "p"
LINE 2:             VALUES ('h', 't', 't', ('p'), ('s'))
                                            ^

我应该在插入之前转换这样的日期吗?

1 个答案:

答案 0 :(得分:2)

您可能正在尝试将插入日期时间作为字符串。使用datetime对象和let the database driver handle the type conversion automatically进行参数化:

from datetime import datetime

date_string = "Sun, 17 Dec 2017 14:26:07 GMT"

dt = datetime.strptime(date_string, "%a, %d %b %Y %H:%M:%S %Z")

cursor.execute('INSERT INTO some_table (somecol) VALUES (%s)', (dt, ))