相关疑难解决方法(0)

如何从sqlite读取datetime作为日期时间而不是Python中的字符串?

我正在使用Python 2.6.4中的sqlite3模块在SQLite数据库中存储日期时间.插入它非常简单,因为sqlite会自动将日期转换为字符串.问题是,当它读取它时它会以字符串形式返回,但我需要重建原始日期时间对象.我该怎么做呢?

python sqlite datetime

62
推荐指数
2
解决办法
5万
查看次数

SQLite日期存储和转换

我在使用Python和SQLite进行日期存储/检索时遇到了设计问题.

我知道SQLite日期列将日期存储为ISO格式的文本(即'2010-05-25').因此,当我显示英国日期(例如,在网页上)时,我使用转换日期

datetime.datetime.strptime(mydate,'%Y-%m-%d').strftime('%d/%m/%Y')
Run Code Online (Sandbox Code Playgroud)

然而,当谈到将数据写回到表中时,SQLite非常宽容并且非常乐意存储'25/06/2003'在日期字段中,但这并不理想,因为

  • 我可以在同一列中留下混合的日期格式,

  • SQLite的日期函数仅适用于ISO格式.

因此,我需要在提交之前将日期字符串转换回ISO格式,但是我需要一个通用函数来检查要在所有日期字段中写入的数据,并在必要时转换为ISO.这对我来说听起来有点乏味,但也许这是不可避免的.

有更简单的解决方案吗?是否更容易将日期字段更改为10个字符的字段并存储'dd/mm/yyyy'在整个表中?这样在从表中读取或写入时不需要转换,如果我需要执行任何日期算术,我可以使用datetime()函数.

其他开发人员如何克服这个问题?任何帮助,将不胜感激.为了记录,我在Python 3.1中使用SQLite3.

python sqlite

12
推荐指数
2
解决办法
2万
查看次数

标签 统计

python ×2

sqlite ×2

datetime ×1