2015-06-06 87 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