Я хотел бы использовать параметры create_engine
, чтобы получить данные с учетом моего часового пояса (в python), но не как datetime.datetime
, а как строковое представление времени UT C, которое оно хранит.
В частности, у меня есть:
engine = create_engine(DB_URI,
convert_unicode=True,
json_serializer=json.dumps)
conn = engine.connect()
res = find_all(conn, myquery)
Но мои даты возвращаются так:
datetime.datetime(2020, 4, 14, 7, 30, tzinfo=psycopg2.tz.FixedOffsetTimezone(offset=0, name=None)
Хотя я ожидаю, что это будет больше похоже:
2020-04-14 07:30Z
Что я могу изменить, чтобы sqlalchemy извлекала эти значения как текстовые временные метки?
Я ожидал, что следующее сработает:
PGTZ = psycopg2.extensions.new_type(
psycopg2.extensions.DATEARRAY.values,
'PGTZ',
lambda value, curs: value.isoformat() if value is not None else None)
psycopg2.extensions.register_type(PGTZ)
Но это не повлияло.
Я обращался к другим ссылкам: