2015-02-09 13 views
1

如何根據日期在本週scrapy獲得上週開始日期和結束日期是如何得到的開始日期和結束日期(週一 - 週日)上週基於日期在本週在scrapy

例:如果日期是04-feb-15,則結果應該是start_date = Monday(26-jan-1015)end_date = Sunday(1-feb-15)

如果日期是27-feb-15,應該是起始日期=週一(16月 - 1015)END_DATE =(2月22日 - 15)

我已經嘗試此:

date =aaa.xpath('xxx') 
 
if date < datetime.datetime.today():

+0

非常類似於http://stackoverflow.com/questions/28478553/get-lastweek-dates-using-python – aberna 2015-02-12 14:54:42

回答

0

您可以使用datetime.timedelta了點。
它有一個可選的weeks參數,您可以將其設置爲-1,因此它將從date減去七天。

您還必須將當前日期的工作日(以及另一個工作日,即使是週一以來的日期爲0)也進行扣分。

import datetime 

def previous_week_range(date): 
    start_date = date + datetime.timedelta(-date.weekday(), weeks=-1) 
    end_date = date + datetime.timedelta(-date.weekday() - 1) 
    return start_date, end_date 

previous_week_range(datetime.date(2015, 2, 9)) # 2015-02-02, 2015-02-08 
previous_week_range(datetime.date(2015, 2, 13)) # 2015-02-02, 2015-02-08 
previous_week_range(datetime.date(2015, 2, 16)) # 2015-02-09, 2015-02-15 
+0

'previous_week_range'需要'datetime'對象(如'datetime.date(2015年,2 ,9)',而不是列表或字符串,你應該先將xpath結果轉換爲日期時間對象,你可以使用['time.strptime'函數](https://docs.python.org/2/library /time.html#time.strptime)將字符串轉換爲日期時間對象。 – 2015-02-09 13:04:50

相關問題