Home  >  Article  >  Backend Development  >  Python - Calculate the date of last week's 5

Python - Calculate the date of last week's 5

巴扎黑
巴扎黑Original
2016-11-26 09:42:531579browse

第一种方法:

Python代码  

from datetime import datetime, timedelta  

weekdays = ['Monday','Tuesday','Wednesday','Thursday',  

            'Friday','Saturday','Sunday']  

def get_previous_byday(dayname, start_date=None):  

    if start_date is None:  

        start_date = datetime.today()  

    day_num = start_date.weekday()  

    day_num_target = weekdays.index(dayname)  

    days_ago = (7 + day_num - day_num_target) % 7  

    if days_ago == 0:  

        days_ago = 7  

    target_date = start_date - timedelta(days = days_ago)  

    return target_date  

  

print( datetime.today() )  

print( get_previous_byday('Monday') )  

print( get_previous_byday('Monday', datetime(2016, 8, 28)) )  

 第二种方法,用dateutil模块

Python代码  

from datetime import datetime  

from dateutil.relativedelta import relativedelta  

from dateutil.rrule import *  

d = datetime.now()  

print(d)  

print(d + relativedelta(weekday=FR))  

print(d + relativedelta(weekday=FR(-1)))  


Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn