cx_oracle возвращает datetime
экземпляров для столбцов типов TIMESTAMP
или TIMESTAMP WITH TIME ZONE
, но эти экземпляры даты и времени не учитывают часовой пояс.
Например:
SELECT column_name, data_type FROM ALL_TAB_COLUMNS WHERE table_name = 'mytable';
column_name data_type
----------- ---------------------------
MYCOL TIMESTAMP(6) WITH TIME ZONE
Как вы можете видеть, MYCOL - это TIMESTAMP, который учитывает часовой пояс. Я ожидаю, что следующее вернет объект даты и времени Python, содержащий данные tzinfo. Тем не менее:
>>> cxoracle_cursor.execute("select mycol from mytable")
>>> row = cx_oracle_cursor.fetchone()
>>> row['mycol']
datetime.datetime(2011, 6, 15, 8, 30)
Этот объект даты и времени не знает часовой пояс, поэтому я не могу надежно использовать эту дату в своем приложении.
Каков наилучший подход к извлечению этого столбца как объекта даты и времени с учетом часового пояса?