1

我的问题有两个子问题(这是一个词吗?):

A. 从​​字符串中解析日期。

我有来自 rss 提要的日期时间,格式如下:

u'Wed, 30 Sep 2015 18:59:39 +0000'

从上面的字符串制作日期时间的最“pythonic”方法是什么?我试图用正则表达式来做,但我有大约 20 行代码来做这件事,我希望有更简单的方法来做,最好不用正则表达式。我也不知道有什么简单的方法可以更改Sep09.

B. 使用 Sqlalchemy 插入到 sqlite

我的问题是,我找不到可以看到如何将列定义为日期时间的代码示例。它应该看起来像这样吗?

t = Table('t', medatata, Column('my_date', Datetime)

然后只是将对象传递datetime给数据库?

4

1 回答 1

2

一个。以适当的格式查看datetime.strptime

from datetime import datetime
fmt = '%a, %d %b %Y %H:%M:%S %z'
datetime.strptime('Wed, 30 Sep 2015 18:59:39 +0000', fmt)

输出

datetime.datetime(2015, 9, 30, 18, 59, 39, tzinfo=datetime.timezone.utc)

。是的,将datetime对象保存到数据库中。例如,您可能有一个如下定义的测试数据库。

class Test(db.Model):
    id = db.Column(db.Integer, primary_key=True)
    test_date = db.Column(db.DateTime)

    def __init__(self, test_date=None):
        if test_date is None:
            test_date = datetime.utcnow()

然后将您的日期保存为原始帖子的变体。

rec = Test(datetime.strptime(...your RSS data here..., fmt))

表定义/保存可能需要稍微调整,但这是一般的想法。此外,还有一些关于SQLAlchemy 数据类型SQLite 数据类型的文档。

希望有帮助。

于 2015-10-01T14:32:09.240 回答