我的问题有两个子问题(就是一个字?):
一个。从字符串中解析日期。
我有rss feed的日期时间,格式如下:
u'Wed, 30 Sep 2015 18:59:39 +0000'
从上面的字符串创建日期时间最“pythonic”的方法是什么?我尝试用正则表达式来做,但我有大约20行代码,我希望有更简单的方法来做,最好没有正则表达式。我也不知道将Sep
更改为09
的简便方法。
B中。使用Sqlalchemy
插入sqlite我的问题是,我找不到代码示例,我可以看到如何将列定义为datetime。应该是这样的吗?
t = Table('t', medatata, Column('my_date', Datetime)
然后只将datetime
的对象传递给数据库?
答案 0 :(得分:2)
A 的。使用适当的datetime.strptime查看formatting。
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
对象保存到日期库中。例如,您可能有一个 test db定义如下。
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))
表def / save可能需要调整一下,但这是一般的想法。此外,还有一些关于SQLAlchemy datatypes和SQLite Datatypes的文档。
希望有所帮助。