可以使用isodate
方法datetime對象:
datetime.datetime.strptime('20160511','%Y%m%d').isocalendar()[1]
將在本週返回一個整數,這樣就可以比較兩個日期看,如果他們在同一個星期的一部分。這裏是一個函數,會做,對於兩個不同的日期:
import datetime
def same_week(date1, date2):
d1 = datetime.datetime.strptime(date1,'%Y%m%d')
d2 = datetime.datetime.strptime(date2,'%Y%m%d')
return d1.isocalendar()[1] == d2.isocalendar()[1] \
and d1.year == d2.year
要獲得當天,使用datetime.datetime.today()
。因此,改寫上述功能做的正是你問:
import datetime
def same_week(dateString):
'''returns true if a dateString in %Y%m%d format is part of the current week'''
d1 = datetime.datetime.strptime(dateString,'%Y%m%d')
d2 = datetime.datetime.today()
return d1.isocalendar()[1] == d2.isocalendar()[1] \
and d1.year == d2.year
有你看了['datetime'(https://docs.python.org/2/library/datetime.html)模塊? – tom10
使用'datetime.datetime.today()。weekday()',然後比較它減去加上基於'7'的當前日期,看看它是否在裏面。 pythonic明智這可能是你可以簡單地擴展自己的日期時間庫。製作自己的庫擴展就像使用現有的擴展庫一樣Python :) –
如果你已經有星期日的日期字符串,你可以做一些類似'return int(string_for_sunday) - int(date_string)in range(7)'這可以確保目前的字符串是在星期天之後的7天內。 @ User2910293說,使用datetime的內置日期比較肯定會更好。 –