2015-06-06 85 views
1

我正在使用Tweepy API并将推文存储在sqlite3数据库中。我可以使用Tweepy中的函数获取日期和时间。它存储作为比较来自两个不同来源的日期

2015-06-06 23:06:19 

然后我需要确定这个日期的年龄,如果因此它需要删除的行中的数据库中超过30天在数据库中的价值。

c.execute ("DELETE FROM storedTweets WHERE tweetDate < DATE() - 30") 

这是我迄今为止,但查询不是删除条目。

我确定这很简单,但我是新手。在此先感谢

回答

3

DATE()-30不返回日期:

sqlite> select DATE(); 
2015-06-06 
sqlite> select DATE()-30; 
1985 

using the date function

sqlite> select date('now','-30 days'); 
2015-05-07 

因此,

c.execute("DELETE FROM storedTweets WHERE tweetDate < date('now','-30 days')") 

另外,你可以计算在Python日期:

import datetime as DT 
date = DT.date.today()-DT.timedelta(days=30) 
c.execute("DELETE FROM storedTweets WHERE tweetDate < ?", [date]) 
+0

c.execute( “DELETE FROM storedTweets WHERE tweetDate <日期( '现在',' - 30日)”) 完美的作品,谢谢。 – NeonLights86