如何解决 Sqlalchemy 查询数据返回的时间类型不符合预期的问题?

如何解决 sqlalchemy 查询数据返回的时间类型不符合预期的问题?

python sqlalchemy 查询数据返回时间类型的问题?

在使用 sqlalchemy 查询数据库时,返回的时间类型可能与预期不符。例如,原本的 datetime 类型字段可能显示为 sat, 22 jan 2022 21:20:26 gmt 这样的格式。

解决方法

一种方法是将其手动转换为所需格式:

from datetime import datetime

# ...

result = connection.execute(text("select * from data limit 10"))
data = []
for row in result:
    row_dict = {key: value.strftime('%y-%m-%d %h:%m:%s') if isinstance(value, datetime) else value for key, value in row.items()}
    data.append(row_dict)

return data

如果希望在整个应用程序中都使用相同的时间格式,也可以将其作为配置项进行设置:

import datetime

# 设置全局时间格式
datetime.datetime.strftime = lambda self, fmt: self.strftime(fmt) if isinstance(self, datetime.datetime) else str(self)

以上就是如何解决 Sqlalchemy 查询数据返回的时间类型不符合预期的问题?的详细内容,更多请关注硕下网其它相关文章!