【发布时间】:2010-11-26 00:05:12
【问题描述】:
我不喜欢 SQLAlchemy 如何使用 sqlite 数据库处理日期时间值。它以纯字符串格式存储值。同时 sqlite 推荐使用 julianday 来存储日期时间值。
有没有一种简单的方法可以在这里改变 SQLAlchemy 的行为?
附言。我要担心吗?可能没有人因为没有必要而处理 julianday 吗?
【问题讨论】:
标签: sqlite sqlalchemy
我不喜欢 SQLAlchemy 如何使用 sqlite 数据库处理日期时间值。它以纯字符串格式存储值。同时 sqlite 推荐使用 julianday 来存储日期时间值。
有没有一种简单的方法可以在这里改变 SQLAlchemy 的行为?
附言。我要担心吗?可能没有人因为没有必要而处理 julianday 吗?
【问题讨论】:
标签: sqlite sqlalchemy
实际上并不是 SQLAlchemy 将日期存储为纯字符串; SQLite 本身does not support date types。从一开始就理解这一点很重要; Sqlite 使用provide some functions 处理日期,但这些日期存储为文本。这就是为什么 SQLAlchemy 在将日期转换为 Python 的日期时间类型和从 Python 的日期时间类型转换方面发挥了一些魔力的原因:根据 SQLAlchemy's documentation:
SQLite 没有内置 DATE, TIME 或 DATETIME 类型和 pysqlite 不提供开箱即用 转换值的功能 在 Python 日期时间对象和 SQLite 支持的格式。 SQLAlchemy 的 自己的 DateTime 和相关类型提供 日期格式化和解析 使用 SQlite 时的功能。这 实现类是 SLDateTime, SLDate 和 SLTime。这些类型 将日期和时间表示为 ISO 格式化的字符串,这也很好 支持订购。没有依赖 在这些典型的“libc”内部 函数,所以历史日期是 完全支持。
至于使用儒略历而不是公历。你确定你想要那个吗?您可能是指公历日期吗?
【讨论】: